maptracker

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: May 30, 2018 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package maptracker implements a PinTracker component for IPFS Cluster. It uses a map to keep track of the state of tracked pins.

Index

Constants

View Source
const (
	DefaultMaxPinQueueSize = 4096
	DefaultConcurrentPins  = 10
)

Default values for this Config.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config added in v0.3.1

type Config struct {
	config.Saver

	// If higher, they will automatically marked with an error.
	MaxPinQueueSize int
	// ConcurrentPins specifies how many pin requests can be sent to the ipfs
	// daemon in parallel. If the pinning method is "refs", it might increase
	// speed. Unpin requests are always processed one by one.
	ConcurrentPins int
}

Config allows to initialize a Monitor and customize some parameters.

func (*Config) ConfigKey added in v0.3.1

func (cfg *Config) ConfigKey() string

ConfigKey provides a human-friendly identifier for this type of Config.

func (*Config) Default added in v0.3.1

func (cfg *Config) Default() error

Default sets the fields of this Config to sensible values.

func (*Config) LoadJSON added in v0.3.1

func (cfg *Config) LoadJSON(raw []byte) error

LoadJSON sets the fields of this Config to the values defined by the JSON representation of it, as generated by ToJSON.

func (*Config) ToJSON added in v0.3.1

func (cfg *Config) ToJSON() ([]byte, error)

ToJSON generates a human-friendly JSON representation of this Config.

func (*Config) Validate added in v0.3.1

func (cfg *Config) Validate() error

Validate checks that the fields of this Config have working values, at least in appearance.

type MapPinTracker

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

MapPinTracker is a PinTracker implementation which uses a Go map to store the status of the tracked Cids. This component is thread-safe.

func NewMapPinTracker

func NewMapPinTracker(cfg *Config, pid peer.ID) *MapPinTracker

NewMapPinTracker returns a new object which has been correcly initialized with the given configuration.

func (*MapPinTracker) Recover

func (mpt *MapPinTracker) Recover(c *cid.Cid) (api.PinInfo, error)

Recover will re-queue a Cid in error state for the failed operation, possibly retriggering an IPFS pinning operation.

func (*MapPinTracker) RecoverAll added in v0.3.1

func (mpt *MapPinTracker) RecoverAll() ([]api.PinInfo, error)

RecoverAll attempts to recover all items tracked by this peer.

func (*MapPinTracker) SetClient

func (mpt *MapPinTracker) SetClient(c *rpc.Client)

SetClient makes the MapPinTracker ready to perform RPC requests to other components.

func (*MapPinTracker) Shutdown

func (mpt *MapPinTracker) Shutdown() error

Shutdown finishes the services provided by the MapPinTracker and cancels any active context.

func (*MapPinTracker) Status

func (mpt *MapPinTracker) Status(c *cid.Cid) api.PinInfo

Status returns information for a Cid tracked by this MapPinTracker.

func (*MapPinTracker) StatusAll

func (mpt *MapPinTracker) StatusAll() []api.PinInfo

StatusAll returns information for all Cids tracked by this MapPinTracker.

func (*MapPinTracker) Sync

func (mpt *MapPinTracker) Sync(c *cid.Cid) (api.PinInfo, error)

Sync verifies that the status of a Cid matches that of the IPFS daemon. If not, it will be transitioned to PinError or UnpinError.

Sync returns the updated local status for the given Cid. Pins in error states can be recovered with Recover(). An error is returned if we are unable to contact the IPFS daemon.

func (*MapPinTracker) SyncAll

func (mpt *MapPinTracker) SyncAll() ([]api.PinInfo, error)

SyncAll verifies that the statuses of all tracked Cids match the one reported by the IPFS daemon. If not, they will be transitioned to PinError or UnpinError.

SyncAll returns the list of local status for all tracked Cids which were updated or have errors. Cids in error states can be recovered with Recover(). An error is returned if we are unable to contact the IPFS daemon.

func (*MapPinTracker) Track

func (mpt *MapPinTracker) Track(c api.Pin) error

Track tells the MapPinTracker to start managing a Cid, possibly triggering Pin operations on the IPFS daemon.

func (*MapPinTracker) Untrack

func (mpt *MapPinTracker) Untrack(c *cid.Cid) error

Untrack tells the MapPinTracker to stop managing a Cid. If the Cid is pinned locally, it will be unpinned.

Jump to

Keyboard shortcuts

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