host

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Apr 1, 2019 License: MIT Imports: 31 Imported by: 2

Documentation

Overview

Package host is an implementation of the host module, and is responsible for participating in the storage ecosystem, turning available disk space an internet bandwidth into profit for the user.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ErrorCommunication added in v1.0.3

type ErrorCommunication string

ErrorCommunication errors are meant to be returned if the host and the renter seem to be miscommunicating. For example, if the renter attempts to pay an insufficient price, there has been a communication error.

func (ErrorCommunication) Error added in v1.0.3

func (ec ErrorCommunication) Error() string

Error satisfies the Error interface for the ErrorCommunication type.

type ErrorConnection added in v1.0.3

type ErrorConnection string

ErrorConnection is meant to be used on errors where the network is returning unexpected errors. For example, sudden disconnects or connection write failures.

func (ErrorConnection) Error added in v1.0.3

func (ec ErrorConnection) Error() string

Error satisfies the Error interface for the ErrorConnection type.

type ErrorConsensus added in v1.0.3

type ErrorConsensus string

ErrorConsensus errors are meant to be used when there are problems related to consensus, such as an inability to submit a storage proof to the blockchain, or an inability to get a file contract revision on to the blockchain.

func (ErrorConsensus) Error added in v1.0.3

func (ec ErrorConsensus) Error() string

Error satisfies the Error interface for the ErrorConsensus type.

type ErrorInternal added in v1.0.3

type ErrorInternal string

ErrorInternal errors are meant to be used if an internal process in the host is malfunctioning, for example if the disk is failing.

func (ErrorInternal) Error added in v1.0.3

func (ec ErrorInternal) Error() string

Error satisfies the Error interface for the ErrorInternal type.

type Host

type Host struct {
	modules.StorageManager
	// contains filtered or unexported fields
}

A Host contains all the fields necessary for storing files for clients and performing the storage proofs on the received files.

func New

func New(cs modules.ConsensusSet, g modules.Gateway, tpool modules.TransactionPool, wallet modules.Wallet, address string, persistDir string) (*Host, error)

New returns an initialized Host.

func (*Host) Announce

func (h *Host) Announce() error

Announce creates a host announcement transaction.

func (*Host) AnnounceAddress added in v1.0.0

func (h *Host) AnnounceAddress(addr modules.NetAddress) error

AnnounceAddress submits a host announcement to the blockchain to announce a specific address. If there is no error, the host's address will be updated to the supplied address.

func (*Host) Close added in v1.0.0

func (h *Host) Close() error

Close shuts down the host.

func (*Host) ConnectabilityStatus added in v1.2.0

func (h *Host) ConnectabilityStatus() modules.HostConnectabilityStatus

ConnectabilityStatus returns the connectability state of the host, whether the host can connect to itself on its configured netaddress.

func (*Host) ExternalSettings added in v1.0.0

func (h *Host) ExternalSettings() modules.HostExternalSettings

ExternalSettings returns the hosts external settings. These values cannot be set by the user (host is configured through InternalSettings), and are the values that get displayed to other hosts on the network.

func (*Host) FinancialMetrics added in v1.0.0

func (h *Host) FinancialMetrics() modules.HostFinancialMetrics

FinancialMetrics returns information about the financial commitments, rewards, and activities of the host.

func (*Host) InternalSettings added in v1.0.0

func (h *Host) InternalSettings() modules.HostInternalSettings

InternalSettings returns the settings of a host.

func (*Host) NetAddress added in v1.0.0

func (h *Host) NetAddress() modules.NetAddress

NetAddress returns the address at which the host can be reached.

func (*Host) NetworkMetrics added in v1.0.0

func (h *Host) NetworkMetrics() modules.HostNetworkMetrics

NetworkMetrics returns information about the types of rpc calls that have been made to the host.

func (*Host) ProcessConsensusChange added in v1.0.0

func (h *Host) ProcessConsensusChange(cc modules.ConsensusChange)

ProcessConsensusChange will be called by the consensus set every time there is a change to the blockchain.

func (*Host) PruneStaleStorageObligations added in v1.4.0

func (h *Host) PruneStaleStorageObligations() error

PruneStaleStorageObligations will delete storage obligations from the host that, for whatever reason, did not make it on the block chain. As these stale storage obligations have an impact on the host financial metrics, this method updates the host financial metrics to show the correct values.

func (*Host) PublicKey added in v1.1.1

func (h *Host) PublicKey() types.SiaPublicKey

PublicKey returns the public key of the host that is used to facilitate relationships between the host and renter.

func (*Host) SetInternalSettings added in v1.0.0

func (h *Host) SetInternalSettings(settings modules.HostInternalSettings) error

SetInternalSettings updates the host's internal HostInternalSettings object.

func (*Host) StorageObligations added in v1.1.2

func (h *Host) StorageObligations() (sos []modules.StorageObligation)

StorageObligations fetches the set of storage obligations in the host and returns metadata on them.

func (*Host) WorkingStatus added in v1.2.0

func (h *Host) WorkingStatus() modules.HostWorkingStatus

WorkingStatus returns the working state of the host, where working is defined as having received more than workingStatusThreshold settings calls over the period of workingStatusFrequency.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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