storagenodedb

package
v0.19.4 Latest Latest
Warning

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

Go to latest
Published: Aug 29, 2019 License: AGPL-3.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrBandwidth = errs.Class("bandwidthdb error")

ErrBandwidth represents errors from the bandwidthdb database.

View Source
var (

	// ErrDatabase represents errors from the databases.
	ErrDatabase = errs.Class("storage node database error")
)
View Source
var ErrOrders = errs.Class("ordersdb error")

ErrOrders represents errors from the ordersdb database.

View Source
var ErrPieceExpiration = errs.Class("piece expiration error")

ErrPieceExpiration represents errors from the piece expiration database.

View Source
var ErrPieceInfo = errs.Class("v0pieceinfodb error")

ErrPieceInfo represents errors from the piece info database.

View Source
var ErrPieceSpaceUsed = errs.Class("piece space used error")

ErrPieceSpaceUsed represents errors from the piece spaced used database.

View Source
var ErrReputation = errs.Class("reputation error")

ErrReputation represents errors from the reputation database.

View Source
var ErrUsedSerials = errs.Class("usedserialsdb error")

ErrUsedSerials represents errors from the used serials database.

Functions

This section is empty.

Types

type Config

type Config struct {
	// TODO: figure out better names
	Storage  string
	Info     string
	Info2    string
	Kademlia string

	Pieces string
}

Config configures storage node database

type DB

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

DB contains access to different database tables

func New

func New(log *zap.Logger, config Config) (*DB, error)

New creates a new master database for storage node

func NewTest added in v0.16.0

func NewTest(log *zap.Logger, storageDir string) (*DB, error)

NewTest creates new test database for storage node.

func (*DB) Bandwidth

func (db *DB) Bandwidth() bandwidth.DB

Bandwidth returns the instance of the Bandwidth database.

func (*DB) Close

func (db *DB) Close() error

Close closes any resources.

func (*DB) Console added in v0.14.0

func (db *DB) Console() console.DB

Console returns the instance of the Console database.

func (*DB) CreateTables

func (db *DB) CreateTables() error

CreateTables creates any necessary tables.

func (*DB) Migration added in v0.19.0

func (db *DB) Migration() *migrate.Migration

Migration returns table migrations.

func (*DB) Orders

func (db *DB) Orders() orders.DB

Orders returns the instance of the Orders database.

func (*DB) PieceExpirationDB added in v0.18.0

func (db *DB) PieceExpirationDB() pieces.PieceExpirationDB

PieceExpirationDB returns the instance of the PieceExpiration database.

func (*DB) PieceSpaceUsedDB added in v0.18.0

func (db *DB) PieceSpaceUsedDB() pieces.PieceSpaceUsedDB

PieceSpaceUsedDB returns the instance of the PieceSpacedUsed database.

func (*DB) Pieces

func (db *DB) Pieces() storage.Blobs

Pieces returns blob storage for pieces

func (*DB) Reputation added in v0.18.0

func (db *DB) Reputation() reputation.DB

Reputation returns the instance of the Reputation database.

func (*DB) RoutingTable

func (db *DB) RoutingTable() (kdb, ndb, adb storage.KeyValueStore)

RoutingTable returns kademlia routing table

func (*DB) StorageUsage added in v0.18.0

func (db *DB) StorageUsage() storageusage.DB

StorageUsage returns the instance of the StorageUsage database.

func (*DB) UsedSerials

func (db *DB) UsedSerials() piecestore.UsedSerials

UsedSerials returns the instance of the UsedSerials database.

func (*DB) V0PieceInfo added in v0.18.0

func (db *DB) V0PieceInfo() pieces.V0PieceInfoDB

V0PieceInfo returns the instance of the V0PieceInfoDB database.

func (*DB) Versions added in v0.19.0

func (db *DB) Versions() SQLDB

Versions returns the instance of the versions database.

func (*DB) VersionsMigration added in v0.19.0

func (db *DB) VersionsMigration() migrate.DB

VersionsMigration returns the instance of the versions database.

type SQLDB added in v0.16.0

type SQLDB interface {
	Begin() (*sql.Tx, error)
	BeginTx(ctx context.Context, opts *sql.TxOptions) (*sql.Tx, error)
	Close() error
	Conn(ctx context.Context) (*sql.Conn, error)
	Driver() driver.Driver
	Exec(query string, args ...interface{}) (sql.Result, error)
	ExecContext(ctx context.Context, query string, args ...interface{}) (sql.Result, error)
	Ping() error
	PingContext(ctx context.Context) error
	Prepare(query string) (*sql.Stmt, error)
	PrepareContext(ctx context.Context, query string) (*sql.Stmt, error)
	Query(query string, args ...interface{}) (*sql.Rows, error)
	QueryContext(ctx context.Context, query string, args ...interface{}) (*sql.Rows, error)
	QueryRow(query string, args ...interface{}) *sql.Row
	QueryRowContext(ctx context.Context, query string, args ...interface{}) *sql.Row
	SetConnMaxLifetime(d time.Duration)
	SetMaxIdleConns(n int)
	SetMaxOpenConns(n int)
}

SQLDB defines interface that matches *sql.DB this is such that we can use utccheck.DB for the backend

TODO: wrap the connector instead of *sql.DB

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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