storagenode

package
v0.8.6 Latest Latest
Warning

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

Go to latest
Published: Apr 4, 2019 License: AGPL-3.0 Imports: 25 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	Identity identity.Config

	Server   server.Config
	Kademlia kademlia.Config
	Storage  psserver.Config

	Storage2 piecestore.Config

	Version version.Config
}

Config is all the configuration parameters for a Storage Node

func (*Config) Verify

func (config *Config) Verify(log *zap.Logger) error

Verify verifies whether configuration is consistent and acceptable.

type DB

type DB interface {
	// CreateTables initializes the database
	CreateTables() error
	// Close closes the database
	Close() error

	Pieces() storage.Blobs

	Orders() orders.DB
	PieceInfo() pieces.DB
	CertDB() trust.CertDB
	Bandwidth() bandwidth.DB
	UsedSerials() piecestore.UsedSerials

	// TODO: use better interfaces
	PSDB() *psdb.DB
	RoutingTable() (kdb, ndb storage.KeyValueStore)
}

DB is the master database for Storage Node

type Peer

type Peer struct {
	// core dependencies
	Log      *zap.Logger
	Identity *identity.FullIdentity
	DB       DB

	Transport transport.Client

	Server *server.Server

	Version *version.Service

	// services and endpoints
	// TODO: similar grouping to satellite.Peer
	Kademlia struct {
		RoutingTable *kademlia.RoutingTable
		Service      *kademlia.Kademlia
		Endpoint     *kademlia.Endpoint
		Inspector    *kademlia.Inspector
	}

	Agreements struct {
		Sender *agreementsender.AgreementSender
	}

	Storage2 struct {
		Trust     *trust.Pool
		Store     *pieces.Store
		Endpoint  *piecestore.Endpoint
		Inspector *inspector.Endpoint
		Monitor   *monitor.Service
		Sender    *orders.Sender
	}
}

Peer is the representation of a Storage Node.

func New

func New(log *zap.Logger, full *identity.FullIdentity, db DB, config Config, versionInfo version.Info) (*Peer, error)

New creates a new Storage Node.

func (*Peer) Addr

func (peer *Peer) Addr() string

Addr returns the public address.

func (*Peer) Close

func (peer *Peer) Close() error

Close closes all the resources.

func (*Peer) ID

func (peer *Peer) ID() storj.NodeID

ID returns the peer ID.

func (*Peer) Local

func (peer *Peer) Local() pb.Node

Local returns the peer local node info.

func (*Peer) PrivateAddr

func (peer *Peer) PrivateAddr() string

PrivateAddr returns the private address.

func (*Peer) Run

func (peer *Peer) Run(ctx context.Context) error

Run runs storage node until it's either closed or it errors.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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