kvmetainfo

package
v0.22.2 Latest Latest
Warning

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

Go to latest
Published: Oct 6, 2019 License: AGPL-3.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultES = storj.EncryptionParameters{
	CipherSuite: storj.EncAESGCM,
	BlockSize:   DefaultRS.StripeSize(),
}

DefaultES default values for EncryptionParameters BlockSize should default to the size of a stripe

View Source
var DefaultRS = storj.RedundancyScheme{
	Algorithm:      storj.ReedSolomon,
	RequiredShares: 20,
	RepairShares:   30,
	OptimalShares:  40,
	TotalShares:    50,
	ShareSize:      1 * memory.KiB.Int32(),
}

DefaultRS default values for RedundancyScheme

View Source
var (
	// Error is the errs class of SetupProject
	Error = errs.Class("SetupProject error")
)

Functions

This section is empty.

Types

type DB

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

DB implements metainfo database

func New

func New(project *Project, metainfo *metainfo.Client, streams streams.Store, segments segments.Store, encStore *encryption.Store) *DB

New creates a new metainfo database

func (*DB) CreateBucket

func (db *DB) CreateBucket(ctx context.Context, bucketName string, info *storj.Bucket) (bucketInfo storj.Bucket, err error)

CreateBucket creates a new bucket with the specified information

func (*DB) CreateObject

func (db *DB) CreateObject(ctx context.Context, bucket string, path storj.Path, createInfo *storj.CreateObject) (object storj.MutableObject, err error)

CreateObject creates an uploading object and returns an interface for uploading Object information

func (*DB) DeleteBucket

func (db *DB) DeleteBucket(ctx context.Context, bucketName string) (err error)

DeleteBucket deletes bucket

func (*DB) DeleteObject

func (db *DB) DeleteObject(ctx context.Context, bucket string, path storj.Path) (err error)

DeleteObject deletes an object from database

func (*DB) GetBucket

func (db *DB) GetBucket(ctx context.Context, bucketName string) (bucketInfo storj.Bucket, err error)

GetBucket gets bucket information

func (*DB) GetObject

func (db *DB) GetObject(ctx context.Context, bucket string, path storj.Path) (info storj.Object, err error)

GetObject returns information about an object

func (*DB) GetObjectStream

func (db *DB) GetObjectStream(ctx context.Context, bucket string, path storj.Path) (stream storj.ReadOnlyStream, err error)

GetObjectStream returns interface for reading the object stream

func (*DB) Limits

func (db *DB) Limits() (storj.MetainfoLimits, error)

Limits returns limits for this metainfo database

func (*DB) ListBuckets

func (db *DB) ListBuckets(ctx context.Context, options storj.BucketListOptions) (list storj.BucketList, err error)

ListBuckets lists buckets

func (*DB) ListObjects

func (db *DB) ListObjects(ctx context.Context, bucket string, options storj.ListOptions) (list storj.ObjectList, err error)

ListObjects lists objects in bucket based on the ListOptions

func (*DB) ListPendingObjects

func (db *DB) ListPendingObjects(ctx context.Context, bucket string, options storj.ListOptions) (list storj.ObjectList, err error)

ListPendingObjects lists pending objects in bucket based on the ListOptions

func (*DB) ModifyObject

func (db *DB) ModifyObject(ctx context.Context, bucket string, path storj.Path) (object storj.MutableObject, err error)

ModifyObject modifies a committed object

func (*DB) ModifyPendingObject

func (db *DB) ModifyPendingObject(ctx context.Context, bucket string, path storj.Path) (object storj.MutableObject, err error)

ModifyPendingObject creates an interface for updating a partially uploaded object

type Project

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

Project implements project management operations

func NewProject

func NewProject(streams streams.Store, encryptedBlockSize int32, redundancy eestream.RedundancyStrategy, segmentsSize int64, metainfoClient metainfo.Client) *Project

NewProject constructs a *Project

func SetupProject

func SetupProject(m *metainfo.Client) (*Project, error)

SetupProject creates a project with temporary values until we can figure out how to bypass encryption related setup

func (*Project) CreateBucket

func (db *Project) CreateBucket(ctx context.Context, bucketName string, info *storj.Bucket) (_ storj.Bucket, err error)

CreateBucket creates a new bucket

func (*Project) DeleteBucket

func (db *Project) DeleteBucket(ctx context.Context, bucketName string) (err error)

DeleteBucket deletes bucket

func (*Project) GetBucket

func (db *Project) GetBucket(ctx context.Context, bucketName string) (_ storj.Bucket, err error)

GetBucket gets bucket information

func (*Project) ListBuckets

func (db *Project) ListBuckets(ctx context.Context, listOpts storj.BucketListOptions) (_ storj.BucketList, err error)

ListBuckets lists buckets

Jump to

Keyboard shortcuts

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