reader

package
v1.9.18 Latest Latest
Warning

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

Go to latest
Published: Jun 18, 2024 License: MIT Imports: 7 Imported by: 0

README

Чтение шардов файла.

Пакет предоставляет реализацию интерфейса git.diez37.ru/diez37/go-library/file/Reader которая находится в файле reader.go.

Пакет предоставляет метод New(collection file.Collection, options ...file.ReaderOption), options - является опциональным аргументом, пакет предоставляет следующие методы опций:

  • WithAutoDelete - автоматически удаляет файл, после полного его прочтения, основывает свою логику на ошибке git.diez37.ru/diez37/go-library/file/ChangedNextShardError;
  • WithChangeShardRepeatRead - автоматически проводит повторное чтения данных, если была смена активного шарда файла, основывает свою логику на ошибке git.diez37.ru/diez37/go-library/file/ChangedNextShardError;
  • WithCompressLZ4 - выполняет декомпрессию данных алгоритмом LZ4;
  • WithReadBytesLength - записывает в метрику, кол. прочитанных байтов;
  • WithChangeShardErrorIgnore - игнорирует ошибку git.diez37.ru/diez37/go-library/file/ChangedNextShardError.

Важно. Опции будут примениться в том порядке, в котором они были переданы, из-за этого, такие опции как:

  • WithAutoDelete
  • WithChangeShardRepeatRead

должны быть переданы, до опции WithChangeShardErrorIgnore, для их нормальной работы.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func New

func New(collection file.Collection, options ...file.ReaderOption) (file.Reader, error)

func WithAutoDelete

func WithAutoDelete(informer logger.Informer) file.ReaderOption

func WithChangeShardErrorIgnore

func WithChangeShardErrorIgnore() file.ReaderOption

func WithChangeShardRepeatRead

func WithChangeShardRepeatRead() file.ReaderOption

func WithReadBytesLength

func WithReadBytesLength(counter prometheus.Counter) file.ReaderOption

Types

type AutoDelete

type AutoDelete struct {
	file.Reader
	// contains filtered or unexported fields
}

func NewAutoDelete

func NewAutoDelete(reader file.Reader, informer logger.Informer) *AutoDelete

func (*AutoDelete) Read

func (reader *AutoDelete) Read(buffer []byte) (int, error)

type ChangeShardErrorIgnore

type ChangeShardErrorIgnore struct {
	file.Reader
}

func NewChangeShardErrorIgnore

func NewChangeShardErrorIgnore(reader file.Reader) *ChangeShardErrorIgnore

func (*ChangeShardErrorIgnore) Read

func (ignorer *ChangeShardErrorIgnore) Read(buffer []byte) (int, error)

type ChangeShardRepeatRead

type ChangeShardRepeatRead struct {
	file.Reader
}

func NewChangeShardRepeatRead

func NewChangeShardRepeatRead(reader file.Reader) *ChangeShardRepeatRead

func (*ChangeShardRepeatRead) Read

func (repeater *ChangeShardRepeatRead) Read(buffer []byte) (int, error)

type ReadBytesLength

type ReadBytesLength struct {
	file.Reader
	// contains filtered or unexported fields
}

func NewReadBytesLength

func NewReadBytesLength(reader file.Reader, counter prometheus.Counter) *ReadBytesLength

func (*ReadBytesLength) Read

func (metric *ReadBytesLength) Read(buffer []byte) (int, error)

type Reader

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

func NewReader

func NewReader(collection file.Collection) *Reader

func (*Reader) Close

func (reader *Reader) Close() error

func (*Reader) Collection

func (reader *Reader) Collection() file.Collection

func (*Reader) File

func (reader *Reader) File() (*os.File, error)

func (*Reader) Read

func (reader *Reader) Read(buffer []byte) (int, error)

Jump to

Keyboard shortcuts

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