s3

package
v0.0.0-...-6f318c5 Latest Latest
Warning

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

Go to latest
Published: Feb 24, 2025 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// LockedKey contains the key for indication if an object is locked
	LockedKey = "locked"
	// LockedValue contains the value for indicating it's locked
	LockedValue = "true"
)
View Source
const (
	// MaxChunkBytes contains the maximum number of bytes in a chunk (for Read/Write streaming operations)
	MaxChunkBytes = 1024 * 1024
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BucketFolderCounter

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

BucketFolderCounter is able to count "folder"s within buckets.

func NewBucketFolderCounter

func NewBucketFolderCounter(basePath string) BucketFolderCounter

NewBucketFolderCounter creates a new BucketFolderCounter.

func (BucketFolderCounter) AddObject

func (b BucketFolderCounter) AddObject(obj string)

AddObject extracts the folder names in the passed object name and adds them into the folders map.

func (BucketFolderCounter) GetFolderCount

func (b BucketFolderCounter) GetFolderCount() int32

GetFolderCount returns the number of folders within a bucket. Excludes the basePath.

type Configuration

type Configuration struct {
	BucketName string

	Client awsHelper.Config
}

type InputWriter

type InputWriter interface {
	// WriteInput writes the next chunk into the bucket object.
	// Returns: moreDataAllowed, error
	WriteInput(ctx context.Context, chunk []byte, hasMore bool) (bool, error)
	// Close the underlying object
	Close() error
}

InputWriter abstracts the implementation of input writers.

func NewBucketInputWriter

func NewBucketInputWriter(log logging.Logger, pipeWriter *io.PipeWriter, encryptionKey []byte, uploadDone *sync.Mutex) (InputWriter, error)

NewBucketInputWriter creates a BucketInputWriter

type ObjectInfo

type ObjectInfo struct {
	// Indicates if the object exists
	Exists bool
	// Indicates if the object is locked
	// This info is only relevant if the object exists
	IsLocked bool
	// Indicates the size of the object in bytes
	// This info is only relevant if the object exists
	SizeInBytes uint64
	// The timestamp this object has last been modified
	LastUpdatedAt time.Time
	// The tags associated with this object, if any
	Tags pbCommon.KeyValuePairList
}

ObjectInfo is the response type for the GetObjectInfo method

type OutputReader

type OutputReader interface {
	// ReadOutput fetches the next chunk available for the bucket object with given info.
	// Returns: chunk, moreData, error
	// If an empty chunk is returned and moreData is true, more data is expected.
	ReadOutput(ctx context.Context) ([]byte, bool, error)
}

OutputReader abstracts the implementation of output readers.

func NewBucketOutputReader

func NewBucketOutputReader(log logging.Logger, readCloser io.ReadCloser, encryptionKey []byte) (OutputReader, error)

NewBucketOutputReader create a BucketOutputReader

type ShutdownableBucketServiceServer

type ShutdownableBucketServiceServer interface {
	pbStorage.BucketServiceServer

	svc.Handler

	svc.Shutdown
}

Jump to

Keyboard shortcuts

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