Documentation ¶
Index ¶
- Variables
- type CreateObject
- type DB
- func (db *DB) CreateBucket(ctx context.Context, bucketName string, info *storj.Bucket) (bucketInfo storj.Bucket, err error)
- func (db *DB) CreateObject(ctx context.Context, bucket storj.Bucket, path storj.Path, ...) (object MutableObject, err error)
- func (db *DB) DeleteBucket(ctx context.Context, bucketName string) (err error)
- func (db *DB) DeleteObject(ctx context.Context, bucket storj.Bucket, path storj.Path) (err error)
- func (db *DB) GetBucket(ctx context.Context, bucketName string) (bucketInfo storj.Bucket, err error)
- func (db *DB) GetObject(ctx context.Context, bucket storj.Bucket, path storj.Path) (info storj.Object, err error)
- func (db *DB) GetObjectStream(ctx context.Context, bucket storj.Bucket, object storj.Object) (stream ReadOnlyStream, err error)
- func (db *DB) Limits() (MetainfoLimits, error)
- func (db *DB) ListBuckets(ctx context.Context, options storj.BucketListOptions) (list storj.BucketList, err error)
- func (db *DB) ListObjects(ctx context.Context, bucket storj.Bucket, options storj.ListOptions) (list storj.ObjectList, err error)
- func (db *DB) ListPendingObjects(ctx context.Context, bucket storj.Bucket, options storj.ListOptions) (list storj.ObjectList, err error)
- func (db *DB) ModifyObject(ctx context.Context, bucket storj.Bucket, path storj.Path) (object MutableObject, err error)
- func (db *DB) ModifyPendingObject(ctx context.Context, bucket storj.Bucket, path storj.Path) (object MutableObject, err error)
- type MetainfoLimits
- type MutableObject
- type MutableStream
- type Project
- func (db *Project) CreateBucket(ctx context.Context, bucketName string, info *storj.Bucket) (_ storj.Bucket, err error)
- func (db *Project) DeleteBucket(ctx context.Context, bucketName string) (err error)
- func (db *Project) GetBucket(ctx context.Context, bucketName string) (_ storj.Bucket, err error)
- func (db *Project) ListBuckets(ctx context.Context, listOpts storj.BucketListOptions) (_ storj.BucketList, err error)
- type ReadOnlyStream
Constants ¶
This section is empty.
Variables ¶
var DefaultES = storj.EncryptionParameters{ CipherSuite: storj.EncAESGCM, BlockSize: DefaultRS.StripeSize(), }
DefaultES default values for EncryptionParameters BlockSize should default to the size of a stripe
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
var ( // Error is the errs class of SetupProject Error = errs.Class("SetupProject error") )
Functions ¶
This section is empty.
Types ¶
type CreateObject ¶ added in v0.29.0
type CreateObject struct { Metadata map[string]string ContentType string Expires time.Time storj.RedundancyScheme storj.EncryptionParameters }
CreateObject has optional parameters that can be set
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 storj.Bucket, path storj.Path, createInfo *CreateObject) (object MutableObject, err error)
CreateObject creates an uploading object and returns an interface for uploading Object information
func (*DB) DeleteBucket ¶
DeleteBucket deletes bucket
func (*DB) DeleteObject ¶
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 storj.Bucket, 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 storj.Bucket, object storj.Object) (stream ReadOnlyStream, err error)
GetObjectStream returns interface for reading the object stream
func (*DB) Limits ¶
func (db *DB) Limits() (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 storj.Bucket, 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 storj.Bucket, options storj.ListOptions) (list storj.ObjectList, err error)
ListPendingObjects lists pending objects in bucket based on the ListOptions
type MetainfoLimits ¶ added in v0.29.0
type MetainfoLimits struct { // ListLimit specifies the maximum amount of items that can be listed at a time. ListLimit int64 // MinimumRemoteSegmentSize specifies the minimum remote segment that is allowed to be stored. MinimumRemoteSegmentSize int64 // MaximumInlineSegmentSize specifies the maximum inline segment that is allowed to be stored. MaximumInlineSegmentSize int64 }
MetainfoLimits lists limits specified for the Metainfo database
type MutableObject ¶ added in v0.29.0
type MutableObject interface { // Info gets the current information about the object Info() storj.Object // CreateStream creates a new stream for the object CreateStream(ctx context.Context) (MutableStream, error) // ContinueStream starts to continue a partially uploaded stream. ContinueStream(ctx context.Context) (MutableStream, error) // DeleteStream deletes any information about this objects stream DeleteStream(ctx context.Context) error // Commit commits the changes to the database Commit(ctx context.Context) error }
MutableObject is an interface for manipulating creating/deleting object stream
type MutableStream ¶ added in v0.29.0
type MutableStream interface { Info() storj.Object // AddSegments adds segments to the stream. AddSegments(ctx context.Context, segments ...storj.Segment) error // UpdateSegments updates information about segments. UpdateSegments(ctx context.Context, segments ...storj.Segment) error }
MutableStream is an interface for manipulating stream information
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, metainfo metainfo.Client) *Project
NewProject constructs a *Project
func SetupProject ¶
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 ¶
DeleteBucket deletes bucket
func (*Project) ListBuckets ¶
func (db *Project) ListBuckets(ctx context.Context, listOpts storj.BucketListOptions) (_ storj.BucketList, err error)
ListBuckets lists buckets
type ReadOnlyStream ¶ added in v0.29.0
type ReadOnlyStream interface { Info() storj.Object // SegmentsAt returns the segment that contains the byteOffset and following segments. // Limit specifies how much to return at most. SegmentsAt(ctx context.Context, byteOffset int64, limit int64) (infos []storj.Segment, more bool, err error) // Segments returns the segment at index. // Limit specifies how much to return at most. Segments(ctx context.Context, index int64, limit int64) (infos []storj.Segment, more bool, err error) }
ReadOnlyStream is an interface for reading segment information