host

package
v0.3.0 Latest Latest
Warning

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

Go to latest
Published: Mar 17, 2015 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// StorageProofReorgDepth states how many blocks to wait before submitting
	// a storage proof. This reduces the chance of needing to resubmit because
	// of a reorg.
	StorageProofReorgDepth = 20
)

Variables

View Source
var (
	HostCapacityErr = errors.New("host is at capacity and can not take more files")
)

Functions

This section is empty.

Types

type Host

type Host struct {
	modules.HostSettings
	// 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(state *consensus.State, tpool modules.TransactionPool, wallet modules.Wallet, saveDir string) (h *Host, err error)

New returns an initialized Host.

func (*Host) Announce

func (h *Host) Announce(addr modules.NetAddress) (err error)

Announce creates a host announcement transaction, adding information to the arbitrary data, signing the transaction, and submitting it to the transaction pool.

func (*Host) Info

func (h *Host) Info() modules.HostInfo

func (*Host) NegotiateContract

func (h *Host) NegotiateContract(conn modules.NetConn) (err error)

NegotiateContract is an RPC that negotiates a file contract. If the negotiation is successful, the file is downloaded and the host begins submitting proofs of storage.

func (*Host) RetrieveFile

func (h *Host) RetrieveFile(conn modules.NetConn) (err error)

RetrieveFile is an RPC that uploads a specified file to a client.

Mutexes are applied carefully to avoid any disk intensive or network intensive operations. All necessary interaction with the host involves looking up the filepath of the file being requested. This is done all at once.

func (*Host) SetSettings

func (h *Host) SetSettings(settings modules.HostSettings)

SetConfig updates the host's internal HostSettings object. To modify a specific field, use a combination of Info and SetConfig

func (*Host) Settings

func (h *Host) Settings(conn modules.NetConn) error

Settings is an RPC used to request the settings of a host.

Jump to

Keyboard shortcuts

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