xdelta

package module
v0.0.0-...-9180b71 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2025 License: Apache-2.0 Imports: 7 Imported by: 1

Documentation

Index

Constants

View Source
const (
	ErrXd3Internal       = C.int(-17710)
	ErrXd3InvalCgoHandle = C.int(-17715)
)

Xdelta error codes (look at `xd3_rvalues` enum in xdelta3.h)

Variables

View Source
var (
	ErrDeltaIsEmpty       = errors.New("Delta is empty")
	ErrBufferAllocFail    = errors.New("Failed to allocate buffer")
	ErrXd3ReadFail        = errors.New("Xd3ReadFromGoStream: read failed")
	ErrXd3WriteFail       = errors.New("Xd3WriteToGoStream: write failed")
	ErrXd3SeekInvalOrigin = errors.New("Xd3SeekGoStream: invalid origin")
	ErrXd3SeekFail        = errors.New("Xd3SeekGoStream: seek failed")
)

Functions

func WrapXd3ReadFromGoStream

func WrapXd3ReadFromGoStream(reader io.Reader, size int) error

func WrapXd3SeekGoStream

func WrapXd3SeekGoStream(seeker io.Seeker, offset int64, origin int) error

func WrapXd3WriteToGoStream

func WrapXd3WriteToGoStream(writer io.Writer, data []byte) error

func Xd3Decode

func Xd3Decode(base io.Reader, delta io.Reader, target io.Writer) error

Performs delta decoding using xdelta3, reconstructing the target data from a base and a delta and writing it to the output via the provided writer. It leverages the C xd3_decode function, passing Go io.Reader and io.Writer via CGO handles.

Parameters:

  • base: io.Reader for the source (base) data.
  • delta: io.Reader for the delta data.
  • target: io.Writer for the resulting target data.

Returns nil on success, otherwise an error.

func Xd3Encode

func Xd3Encode(base io.Reader, target io.Reader, delta io.Writer) error

Performs delta encoding using xdelta3, creating a delta from a base to a target data and writing it to the output via the provided writer. It leverages the C xd3_encode function, passing Go io.Reader and io.Writer via CGO handles.

Parameters:

  • base: io.Reader for the source (base) data.
  • target: io.Reader for the target data.
  • delta: io.Writer for the resulting delta data.

Returns nil on success, otherwise an error

Types

This section is empty.