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 // TODO: flatten storage config and only keep the new one Storage piecestore.OldConfig Storage2 piecestore.Config Collector collector.Config Retain retain.Config Nodestats nodestats.Config Console consoleserver.Config Version version.Config Bandwidth bandwidth.Config }
Config is all the configuration parameters for a Storage Node
type DB ¶
type DB interface { // CreateTables initializes the database CreateTables() error // Close closes the database Close() error Pieces() storage.Blobs Orders() orders.DB V0PieceInfo() pieces.V0PieceInfoDB PieceExpirationDB() pieces.PieceExpirationDB PieceSpaceUsedDB() pieces.PieceSpaceUsedDB Bandwidth() bandwidth.DB UsedSerials() piecestore.UsedSerials Console() console.DB Reputation() reputation.DB StorageUsage() storageusage.DB // TODO: use better interfaces RoutingTable() (kdb, ndb, adb 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 } Storage2 struct { // TODO: lift things outside of it to organize better Trust *trust.Pool Store *pieces.Store BlobsCache *pieces.BlobsUsageCache CacheService *pieces.CacheService RetainService *retain.Service Endpoint *piecestore.Endpoint Inspector *inspector.Endpoint Monitor *monitor.Service Orders *orders.Service } Collector *collector.Service NodeStats struct { Service *nodestats.Service Cache *nodestats.Cache } // Web server with web UI Console struct { Listener net.Listener Service *console.Service Endpoint *consoleserver.Server } Bandwidth *bandwidth.Service }
Peer is the representation of a Storage Node.
func New ¶
func New(log *zap.Logger, full *identity.FullIdentity, db DB, revocationDB extensions.RevocationDB, config Config, versionInfo version.Info) (*Peer, error)
New creates a new Storage Node.
func (*Peer) Local ¶
func (peer *Peer) Local() overlay.NodeDossier
Local returns the peer local node info.
func (*Peer) PrivateAddr ¶
PrivateAddr returns the private address.
Directories ¶
Path | Synopsis |
---|---|
Package bandwidth implements bandwidth usage rollup loop.
|
Package bandwidth implements bandwidth usage rollup loop. |
Package collector implements expired piece deletion from storage node.
|
Package collector implements expired piece deletion from storage node. |
Click to show internal directories.
Click to hide internal directories.