metainfo

package
v1.0.0-rc.5 Latest Latest
Warning

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

Go to latest
Published: Mar 11, 2020 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrInvalidType error for inalid response type casting
	ErrInvalidType = errs.New("invalid response type")
)
View Source
var (

	// Error is the errs class of standard metainfo errors.
	Error = errs.Class("metainfo error")
)

Functions

This section is empty.

Types

type BatchItem

type BatchItem interface {
	BatchItem() *pb.BatchRequestItem
}

BatchItem represents single request in batch

type BatchResponse

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

BatchResponse single response from batch call

func (*BatchResponse) BeginDeleteObject

func (resp *BatchResponse) BeginDeleteObject() (BeginDeleteObjectResponse, error)

BeginDeleteObject returns response for BeginDeleteObject request

func (*BatchResponse) BeginDeleteSegment

func (resp *BatchResponse) BeginDeleteSegment() (BeginDeleteSegmentResponse, error)

BeginDeleteSegment returns response for BeginDeleteSegment request

func (*BatchResponse) BeginObject

func (resp *BatchResponse) BeginObject() (BeginObjectResponse, error)

BeginObject returns response for BeginObject request

func (*BatchResponse) BeginSegment

func (resp *BatchResponse) BeginSegment() (BeginSegmentResponse, error)

BeginSegment returns response for BeginSegment request

func (*BatchResponse) CreateBucket

func (resp *BatchResponse) CreateBucket() (CreateBucketResponse, error)

CreateBucket returns BatchResponse for CreateBucket request

func (*BatchResponse) DownloadSegment

func (resp *BatchResponse) DownloadSegment() (DownloadSegmentResponse, error)

DownloadSegment returns response for DownloadSegment request

func (*BatchResponse) GetBucket

func (resp *BatchResponse) GetBucket() (GetBucketResponse, error)

GetBucket returns response for GetBucket request

func (*BatchResponse) GetObject

func (resp *BatchResponse) GetObject() (GetObjectResponse, error)

GetObject returns response for GetObject request

func (*BatchResponse) ListBuckets

func (resp *BatchResponse) ListBuckets() (ListBucketsResponse, error)

ListBuckets returns response for ListBuckets request

func (*BatchResponse) ListObjects

func (resp *BatchResponse) ListObjects() (ListObjectsResponse, error)

ListObjects returns response for ListObjects request

func (*BatchResponse) ListSegment

func (resp *BatchResponse) ListSegment() (ListSegmentsResponse, error)

ListSegment returns response for ListSegment request

type BeginDeleteObjectParams

type BeginDeleteObjectParams struct {
	Bucket        []byte
	EncryptedPath []byte
	Version       int32
}

BeginDeleteObjectParams parameters for BeginDeleteObject method.

func (*BeginDeleteObjectParams) BatchItem

func (params *BeginDeleteObjectParams) BatchItem() *pb.BatchRequestItem

BatchItem returns single item for batch request.

type BeginDeleteObjectResponse

type BeginDeleteObjectResponse struct {
	StreamID storj.StreamID
}

BeginDeleteObjectResponse response for BeginDeleteObject request.

type BeginDeleteSegmentParams

type BeginDeleteSegmentParams struct {
	StreamID storj.StreamID
	Position storj.SegmentPosition
}

BeginDeleteSegmentParams parameters for BeginDeleteSegment method.

func (*BeginDeleteSegmentParams) BatchItem

func (params *BeginDeleteSegmentParams) BatchItem() *pb.BatchRequestItem

BatchItem returns single item for batch request.

type BeginDeleteSegmentResponse

type BeginDeleteSegmentResponse struct {
	SegmentID       storj.SegmentID
	Limits          []*pb.AddressedOrderLimit
	PiecePrivateKey storj.PiecePrivateKey
}

BeginDeleteSegmentResponse response for BeginDeleteSegment request.

type BeginObjectParams

type BeginObjectParams struct {
	Bucket               []byte
	EncryptedPath        []byte
	Version              int32
	Redundancy           storj.RedundancyScheme
	EncryptionParameters storj.EncryptionParameters
	ExpiresAt            time.Time
}

BeginObjectParams parmaters for BeginObject method.

func (*BeginObjectParams) BatchItem

func (params *BeginObjectParams) BatchItem() *pb.BatchRequestItem

BatchItem returns single item for batch request....

type BeginObjectResponse

type BeginObjectResponse struct {
	StreamID             storj.StreamID
	RedundancyStrategy   eestream.RedundancyStrategy
	EncryptionParameters storj.EncryptionParameters
}

BeginObjectResponse response for BeginObject request.

type BeginSegmentParams

type BeginSegmentParams struct {
	StreamID      storj.StreamID
	Position      storj.SegmentPosition
	MaxOrderLimit int64
}

BeginSegmentParams parameters for BeginSegment method.

func (*BeginSegmentParams) BatchItem

func (params *BeginSegmentParams) BatchItem() *pb.BatchRequestItem

BatchItem returns single item for batch request.

type BeginSegmentResponse

type BeginSegmentResponse struct {
	SegmentID       storj.SegmentID
	Limits          []*pb.AddressedOrderLimit
	PiecePrivateKey storj.PiecePrivateKey
}

BeginSegmentResponse response for BeginSegment request.

type Client

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

Client creates a grpcClient.

func Dial

func Dial(ctx context.Context, dialer rpc.Dialer, address string, apiKey *macaroon.APIKey, userAgent string) (*Client, error)

Dial dials to metainfo endpoint with the specified api key.

func DialNodeURL

func DialNodeURL(ctx context.Context, dialer rpc.Dialer, nodeURL string, apiKey *macaroon.APIKey, userAgent string) (*Client, error)

DialNodeURL dials to metainfo endpoint with the specified api key.

func New

func New(client pb.DRPCMetainfoClient, apiKey *macaroon.APIKey, userAgent string) *Client

New used as a public function.

func (*Client) Batch

func (client *Client) Batch(ctx context.Context, requests ...BatchItem) (resp []BatchResponse, err error)

Batch sends multiple requests in one batch.

func (*Client) BeginDeleteObject

func (client *Client) BeginDeleteObject(ctx context.Context, params BeginDeleteObjectParams) (_ storj.StreamID, err error)

BeginDeleteObject begins object deletion process.

func (*Client) BeginDeleteSegment

func (client *Client) BeginDeleteSegment(ctx context.Context, params BeginDeleteSegmentParams) (_ storj.SegmentID, limits []*pb.AddressedOrderLimit, _ storj.PiecePrivateKey, err error)

BeginDeleteSegment begins segment deletion process.

func (*Client) BeginObject

func (client *Client) BeginObject(ctx context.Context, params BeginObjectParams) (_ BeginObjectResponse, err error)

BeginObject begins object creation.

func (*Client) BeginSegment

func (client *Client) BeginSegment(ctx context.Context, params BeginSegmentParams) (_ storj.SegmentID, limits []*pb.AddressedOrderLimit, piecePrivateKey storj.PiecePrivateKey, err error)

BeginSegment begins a segment upload.

func (*Client) Close

func (client *Client) Close() error

Close closes the dialed connection.

func (*Client) CommitObject

func (client *Client) CommitObject(ctx context.Context, params CommitObjectParams) (err error)

CommitObject commits a created object.

func (*Client) CommitSegment

func (client *Client) CommitSegment(ctx context.Context, params CommitSegmentParams) (err error)

CommitSegment commits an uploaded segment.

func (*Client) CommitSegmentOld

func (client *Client) CommitSegmentOld(ctx context.Context, bucket string, path storj.Path, segmentIndex int64, pointer *pb.Pointer, originalLimits []*pb.OrderLimit) (savedPointer *pb.Pointer, err error)

CommitSegmentOld requests to store the pointer for the segment

func (*Client) CreateBucket

func (client *Client) CreateBucket(ctx context.Context, params CreateBucketParams) (respBucket storj.Bucket, err error)

CreateBucket creates a new bucket.

func (*Client) CreateSegmentOld

func (client *Client) CreateSegmentOld(ctx context.Context, bucket string, path storj.Path, segmentIndex int64, redundancy *pb.RedundancyScheme, maxEncryptedSegmentSize int64, expiration time.Time) (limits []*pb.AddressedOrderLimit, rootPieceID storj.PieceID, piecePrivateKey storj.PiecePrivateKey, err error)

CreateSegmentOld requests the order limits for creating a new segment

func (*Client) DeleteBucket

func (client *Client) DeleteBucket(ctx context.Context, params DeleteBucketParams) (err error)

DeleteBucket deletes a bucket.

func (*Client) DeleteSegmentOld

func (client *Client) DeleteSegmentOld(ctx context.Context, bucket string, path storj.Path, segmentIndex int64) (limits []*pb.AddressedOrderLimit, piecePrivateKey storj.PiecePrivateKey, err error)

DeleteSegmentOld requests the order limits for deleting a segment

func (*Client) DownloadSegment

func (client *Client) DownloadSegment(ctx context.Context, params DownloadSegmentParams) (_ storj.SegmentDownloadInfo, _ []*pb.AddressedOrderLimit, err error)

DownloadSegment gets information for downloading remote segment or data from an inline segment.

func (*Client) FinishDeleteObject

func (client *Client) FinishDeleteObject(ctx context.Context, params FinishDeleteObjectParams) (err error)

FinishDeleteObject finishes object deletion process.

func (*Client) FinishDeleteSegment

func (client *Client) FinishDeleteSegment(ctx context.Context, params FinishDeleteSegmentParams) (err error)

FinishDeleteSegment finishes segment upload process.

func (*Client) GetBucket

func (client *Client) GetBucket(ctx context.Context, params GetBucketParams) (respBucket storj.Bucket, err error)

GetBucket returns a bucket.

func (*Client) GetObject

func (client *Client) GetObject(ctx context.Context, params GetObjectParams) (_ storj.ObjectInfo, err error)

GetObject gets single object.

func (*Client) GetProjectInfo

func (client *Client) GetProjectInfo(ctx context.Context) (resp *pb.ProjectInfoResponse, err error)

GetProjectInfo gets the ProjectInfo for the api key associated with the metainfo client.

func (*Client) ListBuckets

func (client *Client) ListBuckets(ctx context.Context, params ListBucketsParams) (_ storj.BucketList, err error)

ListBuckets lists buckets.

func (*Client) ListObjects

func (client *Client) ListObjects(ctx context.Context, params ListObjectsParams) (_ []storj.ObjectListItem, more bool, err error)

ListObjects lists objects according to specific parameters.

func (*Client) ListSegments

func (client *Client) ListSegments(ctx context.Context, params ListSegmentsParams) (_ []storj.SegmentListItem, more bool, err error)

ListSegments lists object segments.

func (*Client) ListSegmentsOld

func (client *Client) ListSegmentsOld(ctx context.Context, bucket string, prefix, startAfter, ignoredEndBefore storj.Path, recursive bool, limit int32, metaFlags uint32) (items []ListItem, more bool, err error)

ListSegmentsOld lists the available segments

func (*Client) MakeInlineSegment

func (client *Client) MakeInlineSegment(ctx context.Context, params MakeInlineSegmentParams) (err error)

MakeInlineSegment creates an inline segment.

func (*Client) ReadSegmentOld

func (client *Client) ReadSegmentOld(ctx context.Context, bucket string, path storj.Path, segmentIndex int64) (pointer *pb.Pointer, limits []*pb.AddressedOrderLimit, piecePrivateKey storj.PiecePrivateKey, err error)

ReadSegmentOld requests the order limits for reading a segment

func (*Client) SegmentInfoOld

func (client *Client) SegmentInfoOld(ctx context.Context, bucket string, path storj.Path, segmentIndex int64) (pointer *pb.Pointer, err error)

SegmentInfoOld requests the pointer of a segment

func (*Client) SetAttributionOld

func (client *Client) SetAttributionOld(ctx context.Context, bucket string, partnerID uuid.UUID) (err error)

SetAttributionOld tries to set the attribution information on the bucket.

func (*Client) SetBucketAttribution

func (client *Client) SetBucketAttribution(ctx context.Context, params SetBucketAttributionParams) (err error)

SetBucketAttribution tries to set the attribution information on the bucket.

func (*Client) SetRawAPIKey

func (client *Client) SetRawAPIKey(key []byte)

SetRawAPIKey sets the client's raw API key. Mainly used for testing.

type CommitObjectParams

type CommitObjectParams struct {
	StreamID storj.StreamID

	EncryptedMetadataNonce storj.Nonce
	EncryptedMetadata      []byte
}

CommitObjectParams parmaters for CommitObject method.

func (*CommitObjectParams) BatchItem

func (params *CommitObjectParams) BatchItem() *pb.BatchRequestItem

BatchItem returns single item for batch request.

type CommitSegmentParams

type CommitSegmentParams struct {
	SegmentID         storj.SegmentID
	Encryption        storj.SegmentEncryption
	SizeEncryptedData int64

	UploadResult []*pb.SegmentPieceUploadResult
}

CommitSegmentParams parameters for CommitSegment method.

func (*CommitSegmentParams) BatchItem

func (params *CommitSegmentParams) BatchItem() *pb.BatchRequestItem

BatchItem returns single item for batch request.

type CreateBucketParams

type CreateBucketParams struct {
	Name                        []byte
	PathCipher                  storj.CipherSuite
	PartnerID                   []byte
	DefaultSegmentsSize         int64
	DefaultRedundancyScheme     storj.RedundancyScheme
	DefaultEncryptionParameters storj.EncryptionParameters
}

CreateBucketParams parameters for CreateBucket method.

func (*CreateBucketParams) BatchItem

func (params *CreateBucketParams) BatchItem() *pb.BatchRequestItem

BatchItem returns single item for batch request.

type CreateBucketResponse

type CreateBucketResponse struct {
	Bucket storj.Bucket
}

CreateBucketResponse response for CreateBucket request.

type DeleteBucketParams

type DeleteBucketParams struct {
	Name []byte
}

DeleteBucketParams parmaters for DeleteBucket method.

func (*DeleteBucketParams) BatchItem

func (params *DeleteBucketParams) BatchItem() *pb.BatchRequestItem

BatchItem returns single item for batch request.

type DownloadSegmentParams

type DownloadSegmentParams struct {
	StreamID storj.StreamID
	Position storj.SegmentPosition
}

DownloadSegmentParams parameters for DownloadSegment method.

func (*DownloadSegmentParams) BatchItem

func (params *DownloadSegmentParams) BatchItem() *pb.BatchRequestItem

BatchItem returns single item for batch request.

type DownloadSegmentResponse

type DownloadSegmentResponse struct {
	Info storj.SegmentDownloadInfo

	Limits []*pb.AddressedOrderLimit
}

DownloadSegmentResponse response for DownloadSegment request.

type FinishDeleteObjectParams

type FinishDeleteObjectParams struct {
	StreamID storj.StreamID
}

FinishDeleteObjectParams parameters for FinishDeleteObject method.

func (*FinishDeleteObjectParams) BatchItem

func (params *FinishDeleteObjectParams) BatchItem() *pb.BatchRequestItem

BatchItem returns single item for batch request.

type FinishDeleteSegmentParams

type FinishDeleteSegmentParams struct {
	SegmentID storj.SegmentID

	DeleteResults []*pb.SegmentPieceDeleteResult
}

FinishDeleteSegmentParams parameters for FinishDeleteSegment method.

func (*FinishDeleteSegmentParams) BatchItem

func (params *FinishDeleteSegmentParams) BatchItem() *pb.BatchRequestItem

BatchItem returns single item for batch request.

type GetBucketParams

type GetBucketParams struct {
	Name []byte
}

GetBucketParams parmaters for GetBucketParams method.

func (*GetBucketParams) BatchItem

func (params *GetBucketParams) BatchItem() *pb.BatchRequestItem

BatchItem returns single item for batch request.

type GetBucketResponse

type GetBucketResponse struct {
	Bucket storj.Bucket
}

GetBucketResponse response for GetBucket request.

type GetObjectParams

type GetObjectParams struct {
	Bucket        []byte
	EncryptedPath []byte
	Version       int32
}

GetObjectParams parameters for GetObject method.

func (*GetObjectParams) BatchItem

func (params *GetObjectParams) BatchItem() *pb.BatchRequestItem

BatchItem returns single item for batch request.

type GetObjectResponse

type GetObjectResponse struct {
	Info storj.ObjectInfo
}

GetObjectResponse response for GetObject request.

type ListBucketsParams

type ListBucketsParams struct {
	ListOpts storj.BucketListOptions
}

ListBucketsParams parmaters for ListBucketsParams method.

func (*ListBucketsParams) BatchItem

func (params *ListBucketsParams) BatchItem() *pb.BatchRequestItem

BatchItem returns single item for batch request.

type ListBucketsResponse

type ListBucketsResponse struct {
	BucketList storj.BucketList
}

ListBucketsResponse response for ListBucket request.

type ListItem

type ListItem struct {
	Path     storj.Path
	Pointer  *pb.Pointer
	IsPrefix bool
}

ListItem is a single item in a listing.

type ListObjectsParams

type ListObjectsParams struct {
	Bucket          []byte
	EncryptedPrefix []byte
	EncryptedCursor []byte
	Limit           int32
	IncludeMetadata bool
	Recursive       bool
}

ListObjectsParams parameters for ListObjects method.

func (*ListObjectsParams) BatchItem

func (params *ListObjectsParams) BatchItem() *pb.BatchRequestItem

BatchItem returns single item for batch request.

type ListObjectsResponse

type ListObjectsResponse struct {
	Items []storj.ObjectListItem
	More  bool
}

ListObjectsResponse response for ListObjects request.

type ListSegmentsParams

type ListSegmentsParams struct {
	StreamID       storj.StreamID
	CursorPosition storj.SegmentPosition
	Limit          int32
}

ListSegmentsParams parameters for ListSegment method.

func (*ListSegmentsParams) BatchItem

func (params *ListSegmentsParams) BatchItem() *pb.BatchRequestItem

BatchItem returns single item for batch request.

type ListSegmentsResponse

type ListSegmentsResponse struct {
	Items []storj.SegmentListItem
	More  bool
}

ListSegmentsResponse response for ListSegments request.

type MakeInlineSegmentParams

type MakeInlineSegmentParams struct {
	StreamID            storj.StreamID
	Position            storj.SegmentPosition
	Encryption          storj.SegmentEncryption
	EncryptedInlineData []byte
}

MakeInlineSegmentParams parameters for MakeInlineSegment method.

func (*MakeInlineSegmentParams) BatchItem

func (params *MakeInlineSegmentParams) BatchItem() *pb.BatchRequestItem

BatchItem returns single item for batch request.

type SetBucketAttributionParams

type SetBucketAttributionParams struct {
	Bucket    string
	PartnerID uuid.UUID
}

SetBucketAttributionParams parameters for SetBucketAttribution method.

func (*SetBucketAttributionParams) BatchItem

func (params *SetBucketAttributionParams) BatchItem() *pb.BatchRequestItem

BatchItem returns single item for batch request.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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