Documentation
¶
Overview ¶
Copyright (c) 2014-2020 Montana Flynn (https://montanaflynn.com)
Index ¶
- type Autopilot
- func (ap *Autopilot) Actions(since time.Time, max int) []api.Action
- func (ap *Autopilot) Config() api.AutopilotConfig
- func (ap *Autopilot) Handler() http.Handler
- func (ap *Autopilot) Run() error
- func (ap *Autopilot) SetConfig(c api.AutopilotConfig) error
- func (ap *Autopilot) Shutdown(_ context.Context) error
- func (ap *Autopilot) Trigger() bool
- type Bus
- type Client
- func (c *Client) Actions() (actions []api.Action, err error)
- func (c *Client) Config() (cfg api.AutopilotConfig, err error)
- func (c *Client) HostInfo(hostKey types.PublicKey) (resp api.HostHandlerGET, err error)
- func (c *Client) HostInfos(ctx context.Context, filterMode string, addressContains string, ...) (resp []api.HostHandlerGET, err error)
- func (c *Client) SetConfig(cfg api.AutopilotConfig) error
- func (c *Client) Status() (uint64, error)
- func (c *Client) Trigger() (res string, err error)
- type Store
- type Worker
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Autopilot ¶
type Autopilot struct {
// contains filtered or unexported fields
}
func New ¶
func New(store Store, bus Bus, workers []Worker, logger *zap.Logger, heartbeat time.Duration, scannerScanInterval time.Duration, scannerBatchSize, scannerMinRecentFailures, scannerNumThreads uint64, migrationHealthCutoff float64, accountsRefillInterval time.Duration) (*Autopilot, error)
New initializes an Autopilot.
func (*Autopilot) Actions ¶
Actions returns the autopilot actions that have occurred since the given time.
func (*Autopilot) Config ¶ added in v1.0.7
func (ap *Autopilot) Config() api.AutopilotConfig
Config returns the autopilot's current configuration.
func (*Autopilot) SetConfig ¶
func (ap *Autopilot) SetConfig(c api.AutopilotConfig) error
SetConfig updates the autopilot's configuration.
type Bus ¶
type Bus interface { // Accounts Account(ctx context.Context, id rhpv3.Account, host types.PublicKey) (account api.Account, err error) Accounts(ctx context.Context) (accounts []api.Account, err error) // wallet WalletAddress(ctx context.Context) (types.Address, error) WalletBalance(ctx context.Context) (types.Currency, error) WalletDiscard(ctx context.Context, txn types.Transaction) error WalletFund(ctx context.Context, txn *types.Transaction, amount types.Currency) ([]types.Hash256, []types.Transaction, error) WalletOutputs(ctx context.Context) (resp []wallet.SiacoinElement, err error) WalletPending(ctx context.Context) (resp []types.Transaction, err error) WalletPrepareForm(ctx context.Context, renterAddress types.Address, renterKey types.PrivateKey, renterFunds, hostCollateral types.Currency, hostKey types.PublicKey, hostSettings rhpv2.HostSettings, endHeight uint64) (txns []types.Transaction, err error) WalletPrepareRenew(ctx context.Context, contract types.FileContractRevision, renterAddress types.Address, renterKey types.PrivateKey, renterFunds, newCollateral types.Currency, hostKey types.PublicKey, hostSettings rhpv2.HostSettings, endHeight uint64) ([]types.Transaction, types.Currency, error) WalletRedistribute(ctx context.Context, outputs int, amount types.Currency) (id types.TransactionID, err error) WalletSign(ctx context.Context, txn *types.Transaction, toSign []types.Hash256, cf types.CoveredFields) error // hostdb Host(ctx context.Context, hostKey types.PublicKey) (hostdb.HostInfo, error) Hosts(ctx context.Context, offset, limit int) ([]hostdb.Host, error) SearchHosts(ctx context.Context, filterMode, addressContains string, keyIn []types.PublicKey, offset, limit int) ([]hostdb.Host, error) HostsForScanning(ctx context.Context, maxLastScan time.Time, offset, limit int) ([]hostdb.HostAddress, error) RecordInteractions(ctx context.Context, interactions []hostdb.Interaction) error RemoveOfflineHosts(ctx context.Context, minRecentScanFailures uint64, maxDowntime time.Duration) (uint64, error) // contracts ActiveContracts(ctx context.Context) (contracts []api.ContractMetadata, err error) AddContract(ctx context.Context, c rhpv2.ContractRevision, totalCost types.Currency, startHeight uint64) (api.ContractMetadata, error) AddRenewedContract(ctx context.Context, c rhpv2.ContractRevision, totalCost types.Currency, startHeight uint64, renewedFrom types.FileContractID) (api.ContractMetadata, error) AncestorContracts(ctx context.Context, id types.FileContractID, minStartHeight uint64) ([]api.ArchivedContract, error) ArchiveContracts(ctx context.Context, toArchive map[types.FileContractID]string) error Contracts(ctx context.Context, set string) ([]api.ContractMetadata, error) FileContractTax(ctx context.Context, payout types.Currency) (types.Currency, error) SetContractSet(ctx context.Context, set string, contracts []types.FileContractID) error // txpool RecommendedFee(ctx context.Context) (types.Currency, error) TransactionPool(ctx context.Context) (txns []types.Transaction, err error) // consensus ConsensusState(ctx context.Context) (api.ConsensusState, error) // objects SlabsForMigration(ctx context.Context, healthCutoff float64, set string, limit int) ([]object.Slab, error) // settings UpdateSetting(ctx context.Context, key string, value interface{}) error GougingSettings(ctx context.Context) (gs api.GougingSettings, err error) RedundancySettings(ctx context.Context) (rs api.RedundancySettings, err error) }
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
A Client provides methods for interacting with a renterd API server.
func NewClient ¶
NewClient returns a client that communicates with a renterd store server listening on the specified address.
type Store ¶
type Store interface { Config() api.AutopilotConfig SetConfig(c api.AutopilotConfig) error }
type Worker ¶
type Worker interface { Account(ctx context.Context, hostKey types.PublicKey) (rhpv3.Account, error) ActiveContracts(ctx context.Context, hostTimeout time.Duration) (api.ContractsResponse, error) ID(ctx context.Context) (string, error) MigrateSlab(ctx context.Context, s object.Slab) error RHPForm(ctx context.Context, endHeight uint64, hk types.PublicKey, hostIP string, renterAddress types.Address, renterFunds types.Currency, hostCollateral types.Currency) (rhpv2.ContractRevision, []types.Transaction, error) RHPFund(ctx context.Context, contractID types.FileContractID, hostKey types.PublicKey, hostIP, siamuxAddr string, balance types.Currency) (err error) RHPPriceTable(ctx context.Context, hostKey types.PublicKey, siamuxAddr string) (rhpv3.HostPriceTable, error) RHPRenew(ctx context.Context, fcid types.FileContractID, endHeight uint64, hk types.PublicKey, hostIP string, renterAddress types.Address, renterFunds, newCollateral types.Currency) (rhpv2.ContractRevision, []types.Transaction, error) RHPScan(ctx context.Context, hostKey types.PublicKey, hostIP string, timeout time.Duration) (api.RHPScanResponse, error) RHPSync(ctx context.Context, contractID types.FileContractID, hostKey types.PublicKey, hostIP, siamuxAddr string) (err error) }
Click to show internal directories.
Click to hide internal directories.