compressor

package
v1.0.4 Latest Latest
Warning

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

Go to latest
Published: Feb 6, 2025 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Пакет compressor предоставляет типы-адаптеры и интерфейсы для работы со встроенными типами компрессоров. Позволяет создавать новых читателей и писателей архива

Основные функции:

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrNewReader       = fmt.Errorf("не могу создать новый декомпрессор")
	ErrNewWriter       = fmt.Errorf("не могу создать новый компрессор")
	ErrUnknownComp     = fmt.Errorf("неизвестный тип компрессора")
	ErrUnsupportedDict = func(ct Type) error {
		return fmt.Errorf("выбранный тип компрессора (%s) не поддерживает словарь", ct)
	}
)

Functions

This section is empty.

Types

type Level

type Level int // Уровень сжатия
const (
	HuffmanOnly        Level = flate.HuffmanOnly
	DefaultCompression Level = flate.DefaultCompression
	NoCompression      Level = flate.NoCompression
	BestSpeed          Level = flate.BestSpeed
	BestCompression    Level = flate.BestCompression
)

type ReadCloseResetter

type ReadCloseResetter interface {
	io.ReadCloser
	Reset(io.Reader) error
}

Дополнение интерфейса io.ReadCloser методом сброса

type Reader

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

func NewReader

func NewReader(typ Type, r io.Reader) (*Reader, error)

Возвращает нового читателя типа typ

func NewReaderDict

func NewReaderDict(typ Type, dict []byte, r io.Reader) (*Reader, error)

Возвращает нового читателя типа typ со словарем dict

func (*Reader) Close

func (rd *Reader) Close() error

func (*Reader) Read

func (rd *Reader) Read(p []byte) (int, error)

Читает из внутреннего [Reader.reader] в p

func (*Reader) Reset

func (rd *Reader) Reset(r io.Reader) error

func (*Reader) WriteTo

func (rd *Reader) WriteTo(w io.Writer) (int64, error)

Копирует буфер [Reader.reader] в w

type Type

type Type byte // Тип компрессора
const (
	Nop Type = iota
	GZip
	LempelZivWelch
	ZLib
	Flate
)

func (Type) String

func (ct Type) String() string

Реализация fmt.Stringer

type WriteCloseResetter

type WriteCloseResetter interface {
	io.WriteCloser
	Reset(io.Writer)
}

Дополнение интерфейса io.WriteCloser методом сброса

type Writer

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

func NewWriter

func NewWriter(typ Type, w io.Writer, l Level) (*Writer, error)

Возвращает нового писателя типа typ

func NewWriterDict

func NewWriterDict(typ Type, dict []byte, w io.Writer, l Level) (*Writer, error)

Возвращает нового писателя типа typ со словарем dict

func (*Writer) Close

func (wr *Writer) Close() error

func (*Writer) Reset

func (wr *Writer) Reset(w io.Writer)

func (*Writer) Write

func (wr *Writer) Write(p []byte) (n int, err error)

Сжимает len(p) байт из p во внутренний writer

Jump to

Keyboard shortcuts

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