chunkedreader

package
v1.67.2 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2024 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package chunkedreader provides functionality for reading in chunks.

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrorFileClosed  = errors.New("file already closed")
	ErrorInvalidSeek = errors.New("invalid seek position")
)

io related errors returned by ChunkedReader

Functions

This section is empty.

Types

type ChunkedReader

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

ChunkedReader is a reader for an Object with the possibility of reading the source in chunks of given size

An initialChunkSize of <= 0 will disable chunked reading.

func New

func New(ctx context.Context, o fs.Object, initialChunkSize int64, maxChunkSize int64) *ChunkedReader

New returns a ChunkedReader for the Object.

An initialChunkSize of <= 0 will disable chunked reading. If maxChunkSize is greater than initialChunkSize, the chunk size will be doubled after each chunk read with a maximum of maxChunkSize. A Seek or RangeSeek will reset the chunk size to it's initial value

func (*ChunkedReader) Close

func (cr *ChunkedReader) Close() error

Close the file - for details see io.Closer

All methods on ChunkedReader will return ErrorFileClosed afterwards

func (*ChunkedReader) Open

func (cr *ChunkedReader) Open() (*ChunkedReader, error)

Open forces the connection to be opened

func (*ChunkedReader) RangeSeek

func (cr *ChunkedReader) RangeSeek(ctx context.Context, offset int64, whence int, length int64) (int64, error)

RangeSeek the file - for details see RangeSeeker

The specified length will only apply to the next chunk opened. RangeSeek will not reopen the source until Read is called.

func (*ChunkedReader) Read

func (cr *ChunkedReader) Read(p []byte) (n int, err error)

Read from the file - for details see io.Reader

func (*ChunkedReader) Seek

func (cr *ChunkedReader) Seek(offset int64, whence int) (int64, error)

Seek the file - for details see io.Seeker

Jump to

Keyboard shortcuts

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