Documentation ¶
Index ¶
- Variables
- type Scheduler
- func (s *Scheduler) Cancel(jid ffs.JobID) error
- func (s *Scheduler) Close() error
- func (s *Scheduler) GetCidFromHot(ctx context.Context, c cid.Cid) (io.Reader, error)
- func (s *Scheduler) GetCidInfo(c cid.Cid) (ffs.CidInfo, error)
- func (s *Scheduler) GetJob(jid ffs.JobID) (ffs.Job, error)
- func (s *Scheduler) GetLogs(ctx context.Context, c cid.Cid) ([]ffs.LogEntry, error)
- func (s *Scheduler) PushConfig(iid ffs.APIID, c cid.Cid, cfg ffs.StorageConfig) (ffs.JobID, error)
- func (s *Scheduler) PushReplace(iid ffs.APIID, c cid.Cid, cfg ffs.StorageConfig, oldCid cid.Cid) (ffs.JobID, error)
- func (s *Scheduler) Untrack(c cid.Cid) error
- func (s *Scheduler) WatchJobs(ctx context.Context, c chan<- ffs.Job, iid ffs.APIID) error
- func (s *Scheduler) WatchLogs(ctx context.Context, c chan<- ffs.LogEntry) error
Constants ¶
This section is empty.
Variables ¶
var ( // ErrNotFound is returned when an item isn't found on a Store. ErrNotFound = errors.New("item not found") )
Functions ¶
This section is empty.
Types ¶
type Scheduler ¶
type Scheduler struct {
// contains filtered or unexported fields
}
Scheduler receives actions to store a Cid in Hot and Cold layers. These actions are created as Jobs which have a lifecycle that can be watched by external actors. This Jobs are executed by delegating the work to the Hot and Cold layers configured for the scheduler.
func New ¶
func New(ds datastore.TxnDatastore, l ffs.CidLogger, hs ffs.HotStorage, cs ffs.ColdStorage) (*Scheduler, error)
New returns a new instance of Scheduler which uses JobStore as its backing repository for state, HotStorage for the hot layer, and ColdStorage for the cold layer.
func (*Scheduler) GetCidFromHot ¶
GetCidFromHot returns an io.Reader of the data from the hot layer.
func (*Scheduler) GetCidInfo ¶
GetCidInfo returns the current storage state of a Cid. Returns ErrNotFound if there isn't information for a Cid.
func (*Scheduler) PushConfig ¶
PushConfig queues the specified StorageConfig to be executed as a new Job. It returns the created JobID for further tracking of its state.
func (*Scheduler) PushReplace ¶
func (s *Scheduler) PushReplace(iid ffs.APIID, c cid.Cid, cfg ffs.StorageConfig, oldCid cid.Cid) (ffs.JobID, error)
PushReplace queues a new StorageConfig to be executed as a new Job, replacing an oldCid that will be untrack in the Scheduler (i.e: deal renewals, repairing).