Documentation ¶
Index ¶
- Variables
- type API
- func (i *API) Addrs() []AddrInfo
- func (i *API) CancelJob(jid ffs.JobID) error
- func (i *API) Close() error
- func (i *API) DefaultStorageConfig() ffs.StorageConfig
- func (i *API) Get(ctx context.Context, c cid.Cid) (io.Reader, error)
- func (i *API) GetRetrieval(prID ffs.RetrievalID) (Retrieval, error)
- func (i *API) GetStorageConfigs(cids ...cid.Cid) (map[cid.Cid]ffs.StorageConfig, error)
- func (i *API) GetStorageJob(jid ffs.JobID) (ffs.StorageJob, error)
- func (i *API) ID() ffs.APIID
- func (i *API) ListStorageInfo(cids ...cid.Cid) ([]ffs.StorageInfo, error)
- func (i *API) ListStorageJobs(config ListStorageJobsConfig) ([]ffs.StorageJob, bool, string, error)
- func (i *API) NewAddr(ctx context.Context, name string, options ...NewAddressOption) (string, error)
- func (i *API) PushStorageConfig(c cid.Cid, opts ...PushStorageConfigOption) (ffs.JobID, error)
- func (i *API) Remove(c cid.Cid) error
- func (i *API) RemoveRetrieval(partialCid cid.Cid) error
- func (i *API) Replace(c1 cid.Cid, c2 cid.Cid) (ffs.JobID, error)
- func (i *API) RetrievalDealRecords(opts ...deals.DealRecordsOption) ([]deals.RetrievalDealRecord, error)
- func (i *API) SendFil(ctx context.Context, from string, to string, amount *big.Int) (cid.Cid, error)
- func (i *API) SetDefaultStorageConfig(c ffs.StorageConfig) error
- func (i *API) SignMessage(ctx context.Context, addr string, message []byte) ([]byte, error)
- func (i *API) StartRetrieval(payloadCid, pieceCid cid.Cid, selector string, miners []string, ...) (Retrieval, error)
- func (i *API) StorageConfigForJob(jid ffs.JobID) (ffs.StorageConfig, error)
- func (i *API) StorageDealRecords(opts ...deals.DealRecordsOption) ([]deals.StorageDealRecord, error)
- func (i *API) StorageInfo(cid cid.Cid) (ffs.StorageInfo, error)
- func (i *API) VerifyMessage(ctx context.Context, addr string, message, signature []byte) (bool, error)
- func (i *API) WatchJobs(ctx context.Context, c chan<- ffs.StorageJob, jids ...ffs.JobID) error
- func (i *API) WatchLogs(ctx context.Context, ch chan<- ffs.LogEntry, c cid.Cid, opts ...GetLogsOption) error
- type AddrInfo
- type GetLogsConfig
- type GetLogsOption
- type InstanceConfig
- type ListStorageJobsConfig
- type ListStorageJobsSelect
- type NewAddressConfig
- type NewAddressOption
- type PushStorageConfigOption
- type Retrieval
- type RetrievalOption
Constants ¶
This section is empty.
Variables ¶
var ( // ErrMustOverrideConfig returned when trying to push config for storing a Cid // without the override flag. ErrMustOverrideConfig = errors.New("cid already pinned, consider using override flag") // ErrReplacedCidNotFound returns when replacing a Cid that isn't stored. ErrReplacedCidNotFound = errors.New("provided replaced cid wasn't found") // ErrActiveInStorage returns when a Cid is trying to be removed but still defined as active // on Hot or Cold storage. ErrActiveInStorage = errors.New("can't remove Cid, disable from Hot and Cold storage") // ErrHotStorageDisabled returned when trying to fetch a Cid when disabled on Hot Storage. // To retrieve the data, is necessary to call unfreeze by enabling the Enabled flag in // hot storage for that Cid. ErrHotStorageDisabled = errors.New("cid disabled in hot storage") )
var ( // ErrNotFound returned when instance configuration doesn't exist. ErrNotFound = errors.New("stored item not found") )
Functions ¶
This section is empty.
Types ¶
type API ¶
type API struct {
// contains filtered or unexported fields
}
API is an Api instance, which owns a Lotus Address and allows to Store and Retrieve Cids from hot and cold storage.
func Load ¶
func Load(ds datastore.Datastore, iid ffs.APIID, sched *scheduler.Scheduler, wm ffs.WalletManager, drm ffs.DealRecordsManager) (*API, error)
Load loads a saved Api instance from its ConfigStore.
func New ¶
func New(ds datastore.Datastore, iid ffs.APIID, sch *scheduler.Scheduler, wm ffs.WalletManager, drm ffs.DealRecordsManager, dc ffs.StorageConfig, addrInfo AddrInfo) (*API, error)
New returns a new Api instance.
func (*API) CancelJob ¶
CancelJob cancels an executing Job. If no Job is executing with that JobID, it won't fail.
func (*API) DefaultStorageConfig ¶
func (i *API) DefaultStorageConfig() ffs.StorageConfig
DefaultStorageConfig returns the default StorageConfig.
func (*API) GetRetrieval ¶
func (i *API) GetRetrieval(prID ffs.RetrievalID) (Retrieval, error)
GetRetrieval returns information from a Retrieval using its ID.
func (*API) GetStorageConfigs ¶
func (i *API) GetStorageConfigs(cids ...cid.Cid) (map[cid.Cid]ffs.StorageConfig, error)
GetStorageConfigs returns the current StorageConfigs for a FFS instance, filtered by cids, if provided.
func (*API) GetStorageJob ¶
GetStorageJob returns the current state of the specified job.
func (*API) ListStorageInfo ¶
func (i *API) ListStorageInfo(cids ...cid.Cid) ([]ffs.StorageInfo, error)
ListStorageInfo returns a list of information about all stored cids, filtered by cids if provided.
func (*API) ListStorageJobs ¶
func (i *API) ListStorageJobs(config ListStorageJobsConfig) ([]ffs.StorageJob, bool, string, error)
ListStorageJobs lists StorageJobs according to the provided ListStorageJobsConfig.
func (*API) NewAddr ¶
func (i *API) NewAddr(ctx context.Context, name string, options ...NewAddressOption) (string, error)
NewAddr creates a new address managed by the FFS instance.
func (*API) PushStorageConfig ¶
func (i *API) PushStorageConfig(c cid.Cid, opts ...PushStorageConfigOption) (ffs.JobID, error)
PushStorageConfig push a new configuration for the Cid in the hot and cold storage. If WithOverride opt isn't set it errors with ErrMustOverrideConfig.
func (*API) Remove ¶
Remove removes a Cid from being tracked as an active storage. The Cid should have both Hot and Cold storage disabled, if that isn't the case it will return ErrActiveInStorage.
func (*API) RemoveRetrieval ¶
RemoveRetrieval removes information and data from a executed retrieval.
func (*API) Replace ¶
Replace pushes a StorageConfig for c2 equal to that of c1, and removes c1. This operation is more efficient than manually removing and adding in two separate operations. c1 and c2 must not be equal.
func (*API) RetrievalDealRecords ¶
func (i *API) RetrievalDealRecords(opts ...deals.DealRecordsOption) ([]deals.RetrievalDealRecord, error)
RetrievalDealRecords returns a list of retrieval deals for this FFS instance according to the provided options.
func (*API) SendFil ¶
func (i *API) SendFil(ctx context.Context, from string, to string, amount *big.Int) (cid.Cid, error)
SendFil sends fil from a managed address to any another address, returns immediately but funds are sent asynchronously.
func (*API) SetDefaultStorageConfig ¶
func (i *API) SetDefaultStorageConfig(c ffs.StorageConfig) error
SetDefaultStorageConfig sets a new default StorageConfig.
func (*API) SignMessage ¶
SignMessage signs a message using a managed address.
func (*API) StartRetrieval ¶
func (i *API) StartRetrieval(payloadCid, pieceCid cid.Cid, selector string, miners []string, opts ...RetrievalOption) (Retrieval, error)
StartRetrieval schedules a new job to do a data retrieval.
func (*API) StorageConfigForJob ¶
StorageConfigForJob returns the StorageConfig associated with the specified job.
func (*API) StorageDealRecords ¶
func (i *API) StorageDealRecords(opts ...deals.DealRecordsOption) ([]deals.StorageDealRecord, error)
StorageDealRecords lists storage deals for this FFS instance according to the provided options.
func (*API) StorageInfo ¶
func (i *API) StorageInfo(cid cid.Cid) (ffs.StorageInfo, error)
StorageInfo returns the information about a stored Cid. If no information is available, since the Cid was never stored, it returns ErrNotFound.
func (*API) VerifyMessage ¶
func (i *API) VerifyMessage(ctx context.Context, addr string, message, signature []byte) (bool, error)
VerifyMessage verifies a message signature of a message from a managed address.
type GetLogsConfig ¶
type GetLogsConfig struct {
// contains filtered or unexported fields
}
GetLogsConfig contains configuration for a stream-log of human-friendly messages for a Cid execution.
type GetLogsOption ¶
type GetLogsOption func(config *GetLogsConfig)
GetLogsOption is a function that changes GetLogsConfig.
func WithHistory ¶
func WithHistory(enabled bool) GetLogsOption
WithHistory indicates that prior log history should be sent to the channel before getting realtime logs.
func WithJidFilter ¶
func WithJidFilter(jid ffs.JobID) GetLogsOption
WithJidFilter filters only log messages of a Cid related to the Job with id jid.
type InstanceConfig ¶
type InstanceConfig struct { ID ffs.APIID Addrs map[string]AddrInfo DefaultStorageConfig ffs.StorageConfig }
InstanceConfig has general information about a Api instance.
type ListStorageJobsConfig ¶
type ListStorageJobsConfig struct { // CidFilter filters StorageJobs list to the specified cid. Defaults to no filter. CidFilter cid.Cid // Limit limits the number of StorageJobs returned. Defaults to no limit. Limit uint64 // Ascending returns the StorageJobs ascending by time. Defaults to false, descending. Ascending bool // Select specifies to return StorageJobs in the specified state. Select ListStorageJobsSelect // NextPageToken sets the slug from which to start building the next page of results. NextPageToken string }
ListStorageJobsConfig controls the behavior for listing StorageJobs.
type ListStorageJobsSelect ¶
type ListStorageJobsSelect int
ListStorageJobsSelect specifies which StorageJobs to list.
const ( // All lists all StorageJobs and is the default. All ListStorageJobsSelect = iota // Queued lists queued StorageJobs. Queued // Executing lists executing StorageJobs. Executing // Final lists final StorageJobs. Final )
type NewAddressConfig ¶
type NewAddressConfig struct {
// contains filtered or unexported fields
}
NewAddressConfig contains options for creating a new wallet address.
type NewAddressOption ¶
type NewAddressOption func(config *NewAddressConfig)
NewAddressOption is a function that changes a NewAddressConfig.
func WithAddressType ¶
func WithAddressType(addressType string) NewAddressOption
WithAddressType specifies the type of address to create.
func WithMakeDefault ¶
func WithMakeDefault(makeDefault bool) NewAddressOption
WithMakeDefault specifies if the new address should become the default.
type PushStorageConfigOption ¶
type PushStorageConfigOption func(o *pushStorageConfigConfig) error
PushStorageConfigOption mutates a push configuration.
func WithDealImport ¶
func WithDealImport(dealIDs []uint64) PushStorageConfigOption
WithDealImport provides active deals to create/augment the storage info of the cid.
func WithNoExec ¶
func WithNoExec(noExec bool) PushStorageConfigOption
WithNoExec avoids creating a Job for the new configuration.
func WithOverride ¶
func WithOverride(override bool) PushStorageConfigOption
WithOverride allows a new push configuration to override an existing one. It's used as an extra security measure to avoid unwanted configuration changes.
func WithStorageConfig ¶
func WithStorageConfig(c ffs.StorageConfig) PushStorageConfigOption
WithStorageConfig overrides the Api default Cid configuration.
type Retrieval ¶
type Retrieval struct { ID ffs.RetrievalID PayloadCid cid.Cid PieceCid cid.Cid Selector string Miners []string WalletAddress string MaxPrice uint64 JID ffs.JobID CreatedAt time.Time // Possibly empty RetrievalMiner string DataCid cid.Cid Size uint64 }
Retrieval indicates information of a retrieval in the Filecoin network.
type RetrievalOption ¶
type RetrievalOption func(*retrievalConfig)
RetrievalOption provides a retrieval configuration setup.
func WithRetrievalMaxPrice ¶
func WithRetrievalMaxPrice(maxPrice uint64) RetrievalOption
WithRetrievalMaxPrice indicates which is the maximum prices to pay for the retrieval.
func WithRetrievalWalletAddress ¶
func WithRetrievalWalletAddress(addr string) RetrievalOption
WithRetrievalWalletAddress indicates which wallet address to use for doing the deal retrieval.