channels

package
v5.6.2+incompatible Latest Latest
Warning

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

Go to latest
Published: Feb 6, 2024 License: Apache-2.0 Imports: 9 Imported by: 1

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewDs3ObjectReadCloserDecorator

func NewDs3ObjectReadCloserDecorator(reader io.Reader) io.ReadCloser

func NewObjectReadChannelDecorator

func NewObjectReadChannelDecorator(reader io.Reader) models.ReadChannelBuilder

func NewPartialObjectChannelBuilder

func NewPartialObjectChannelBuilder(name string, objRanges []ds3Models.Range) helperModels.WriteChannelBuilder

func NewReadChannelBuilder

func NewReadChannelBuilder(name string) helperModels.ReadChannelBuilder

func NewWriteChannelBuilder

func NewWriteChannelBuilder(name string) helperModels.WriteChannelBuilder

Types

type Ds3ObjectReadCloser

type Ds3ObjectReadCloser struct {
	io.Reader
}

func (Ds3ObjectReadCloser) Close

func (Ds3ObjectReadCloser Ds3ObjectReadCloser) Close() error

type FatalErrorHandler

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

Implements the fatal error handling in channel builders. This is used to track if a file has encountered a fatal error such that future blobs for a given file should not be processed.

func (*FatalErrorHandler) GetFatalError

func (errHandler *FatalErrorHandler) GetFatalError() error

func (*FatalErrorHandler) HasFatalError

func (errHandler *FatalErrorHandler) HasFatalError() bool

func (*FatalErrorHandler) SetFatalError

func (errHandler *FatalErrorHandler) SetFatalError(err error)

Captures the first fatal error that occurs. In a multi-threaded environment, all subsequent errors will be ignored.

type ObjectReadChannelBuilder

type ObjectReadChannelBuilder struct {
	FatalErrorHandler
	// contains filtered or unexported fields
}

Implements the ReadChannelBuilder interface and uses a file as the ReadCloser implementation. This channel functions as a random-access and can be used concurrently.

func (*ObjectReadChannelBuilder) GetChannel

func (builder *ObjectReadChannelBuilder) GetChannel(offset int64) (io.ReadCloser, error)

func (*ObjectReadChannelBuilder) IsChannelAvailable

func (builder *ObjectReadChannelBuilder) IsChannelAvailable(offset int64) bool

func (ObjectReadChannelBuilder) OnDone

func (ObjectReadChannelBuilder) OnDone(reader io.ReadCloser)

type ObjectReadChannelDecorator

type ObjectReadChannelDecorator struct {
	FatalErrorHandler
	// contains filtered or unexported fields
}

func (*ObjectReadChannelDecorator) GetChannel

func (readChannelDecorator *ObjectReadChannelDecorator) GetChannel(offset int64) (io.ReadCloser, error)

func (*ObjectReadChannelDecorator) IsChannelAvailable

func (readChannelDecorator *ObjectReadChannelDecorator) IsChannelAvailable(offset int64) bool

func (*ObjectReadChannelDecorator) OnDone

func (readChannelDecorator *ObjectReadChannelDecorator) OnDone(reader io.ReadCloser)

type ObjectWriteChannelBuilder

type ObjectWriteChannelBuilder struct {
	FatalErrorHandler
	// contains filtered or unexported fields
}

Implements the WriteChannelBuilder interface and uses a file as the WriteCloser implementation. This channel functions as a random-access and can be used concurrently so long as two writers are not writing to the same location within the file.

func (*ObjectWriteChannelBuilder) GetChannel

func (builder *ObjectWriteChannelBuilder) GetChannel(offset int64) (io.WriteCloser, error)

func (*ObjectWriteChannelBuilder) IsChannelAvailable

func (builder *ObjectWriteChannelBuilder) IsChannelAvailable(offset int64) bool

func (*ObjectWriteChannelBuilder) OnDone

func (builder *ObjectWriteChannelBuilder) OnDone(writer io.WriteCloser)

type PartialObjectWriteChannelBuilder

type PartialObjectWriteChannelBuilder struct {
	FatalErrorHandler
	// contains filtered or unexported fields
}

func (*PartialObjectWriteChannelBuilder) GetChannel

func (builder *PartialObjectWriteChannelBuilder) GetChannel(objectOffset int64) (io.WriteCloser, error)

func (*PartialObjectWriteChannelBuilder) IsChannelAvailable

func (builder *PartialObjectWriteChannelBuilder) IsChannelAvailable(objectOffset int64) bool

func (*PartialObjectWriteChannelBuilder) OnDone

func (builder *PartialObjectWriteChannelBuilder) OnDone(writer io.WriteCloser)

Jump to

Keyboard shortcuts

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