hostdb

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2017 License: MIT Imports: 18 Imported by: 0

Documentation

Overview

Package hostdb provides a HostDB object that implements the renter.hostDB interface. The blockchain is scanned for host announcements and hosts that are found get added to the host database. The database continually scans the set of hosts it has found and updates who is online.

Index

Constants

This section is empty.

Variables

View Source
var (
	MaxReliability     = types.NewCurrency64(500) // Given the scanning defaults, about 6 weeks of survival.
	DefaultReliability = types.NewCurrency64(150) // Given the scanning defaults, about 2 week of survival.
	UnreachablePenalty = types.NewCurrency64(1)
)

Reliability is a measure of a host's uptime.

Functions

This section is empty.

Types

type HostDB

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

The HostDB is a database of potential hosts. It assigns a weight to each host based on their hosting parameters, and then can select hosts at random for uploading files.

func New

func New(cs consensusSet, persistDir string) (*HostDB, error)

New returns a new HostDB.

func (*HostDB) ActiveHosts

func (hdb *HostDB) ActiveHosts() (activeHosts []modules.HostDBEntry)

ActiveHosts returns the hosts that can be randomly selected out of the hostdb, sorted by preference.

func (*HostDB) AllHosts

func (hdb *HostDB) AllHosts() (allHosts []modules.HostDBEntry)

AllHosts returns all of the hosts known to the hostdb, including the inactive ones.

func (*HostDB) AverageContractPrice added in v1.0.1

func (hdb *HostDB) AverageContractPrice() types.Currency

AverageContractPrice returns the average price of a host.

func (*HostDB) Close

func (hdb *HostDB) Close() error

Close closes the hostdb, terminating its scanning threads

func (*HostDB) Host

func (hdb *HostDB) Host(addr modules.NetAddress) (modules.HostDBEntry, bool)

Host returns the HostSettings associated with the specified NetAddress. If no matching host is found, Host returns false.

func (*HostDB) ProcessConsensusChange

func (hdb *HostDB) ProcessConsensusChange(cc modules.ConsensusChange)

ProcessConsensusChange will be called by the consensus set every time there is a change in the blockchain. Updates will always be called in order.

func (*HostDB) RandomHosts

func (hdb *HostDB) RandomHosts(n int, exclude []modules.NetAddress) []modules.HostDBEntry

RandomHosts implements the HostDB interface's RandomHosts() method. It takes a number of hosts to return, and a slice of netaddresses to ignore, and returns a slice of entries.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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