patch

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Aug 10, 2026 License: BSD-3-Clause Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const PatchHeaderMagic uint32 = 'Z' | ('u' << 8) | ('c' << 16) | ('c' << 24)

Variables

This section is empty.

Functions

func AppendVarInt

func AppendVarInt(buf []byte, value int64) []byte

func AppendVarUInt

func AppendVarUInt(buf []byte, value uint64) []byte

func DecodeVarInt

func DecodeVarInt(source *buffer.BufferSource) (int32, bool)

func DecodeVarUInt

func DecodeVarUInt(source *buffer.BufferSource) (uint32, bool)

func EncodeVarInt

func EncodeVarInt(value int64) []byte

func EncodeVarUInt

func EncodeVarUInt(value uint64) []byte

func ParseBuffer

func ParseBuffer(source *buffer.BufferSource) ([]byte, bool)

func SerializeBuffer

func SerializeBuffer(data []byte, sink buffer.Sink) bool

func SerializedBufferSize

func SerializedBufferSize(data []byte) int

Types

type EnsemblePatchReader

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

func CreateEnsemblePatchReader

func CreateEnsemblePatchReader(buf []byte) (*EnsemblePatchReader, bool)

func (*EnsemblePatchReader) CheckNewFile

func (r *EnsemblePatchReader) CheckNewFile(newImage []byte) bool

func (*EnsemblePatchReader) CheckOldFile

func (r *EnsemblePatchReader) CheckOldFile(oldImage []byte) bool

func (*EnsemblePatchReader) Elements

func (r *EnsemblePatchReader) Elements() []PatchElementReader

func (*EnsemblePatchReader) Header

func (r *EnsemblePatchReader) Header() PatchHeader

func (*EnsemblePatchReader) Initialize

func (r *EnsemblePatchReader) Initialize(source *buffer.BufferSource) bool

type EnsemblePatchWriter

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

func NewEnsemblePatchWriter

func NewEnsemblePatchWriter(oldImage, newImage []byte) *EnsemblePatchWriter

func (*EnsemblePatchWriter) AddElement

func (w *EnsemblePatchWriter) AddElement(elem PatchElementWriter)

func (*EnsemblePatchWriter) SerializeInto

func (w *EnsemblePatchWriter) SerializeInto(sink buffer.Sink) bool

func (*EnsemblePatchWriter) SerializedSize

func (w *EnsemblePatchWriter) SerializedSize() int

type EquivalenceSink

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

func NewEquivalenceSink

func NewEquivalenceSink() *EquivalenceSink

func (*EquivalenceSink) PutNext

func (s *EquivalenceSink) PutNext(eq types.Equivalence)

func (*EquivalenceSink) SerializeInto

func (s *EquivalenceSink) SerializeInto(sink buffer.Sink) bool

func (*EquivalenceSink) SerializedSize

func (s *EquivalenceSink) SerializedSize() int

type EquivalenceSource

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

func NewEquivalenceSource

func NewEquivalenceSource() *EquivalenceSource

func (*EquivalenceSource) Done

func (s *EquivalenceSource) Done() bool

func (*EquivalenceSource) GetNext

func (s *EquivalenceSource) GetNext() (types.Equivalence, bool)

func (*EquivalenceSource) Initialize

func (s *EquivalenceSource) Initialize(source *buffer.BufferSource) bool

type ExtraDataSink

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

func NewExtraDataSink

func NewExtraDataSink(image []byte) *ExtraDataSink

func (*ExtraDataSink) PutRegion

func (s *ExtraDataSink) PutRegion(offset, length int) bool

func (*ExtraDataSink) SerializeInto

func (s *ExtraDataSink) SerializeInto(sink buffer.Sink) bool

func (*ExtraDataSink) SerializedSize

func (s *ExtraDataSink) SerializedSize() int

type ExtraDataSource

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

func NewExtraDataSource

func NewExtraDataSource() *ExtraDataSource

func (*ExtraDataSource) Done

func (s *ExtraDataSource) Done() bool

func (*ExtraDataSource) GetNext

func (s *ExtraDataSource) GetNext(size types.Offset) ([]byte, bool)

func (*ExtraDataSource) Initialize

func (s *ExtraDataSource) Initialize(source *buffer.BufferSource) bool

type PatchElementHeader

type PatchElementHeader struct {
	OldOffset uint32
	OldLength uint32
	NewOffset uint32
	NewLength uint32
	ExeType   uint32
	Version   uint16
}

func ParsePatchElementHeader

func ParsePatchElementHeader(source *buffer.BufferSource) (*PatchElementHeader, bool)

func (*PatchElementHeader) WriteTo

func (h *PatchElementHeader) WriteTo(sink buffer.Sink) bool

type PatchElementReader

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

func NewPatchElementReader

func NewPatchElementReader() *PatchElementReader

func (*PatchElementReader) BufEquivLen

func (r *PatchElementReader) BufEquivLen() int

func (*PatchElementReader) BufExtraLen

func (r *PatchElementReader) BufExtraLen() int

func (*PatchElementReader) BufRawDeltaLen

func (r *PatchElementReader) BufRawDeltaLen() int

func (*PatchElementReader) BufRefDeltaLen

func (r *PatchElementReader) BufRefDeltaLen() int

func (*PatchElementReader) ElementMatch

func (r *PatchElementReader) ElementMatch() types.ElementMatch

func (*PatchElementReader) ExtraTargetLens

func (r *PatchElementReader) ExtraTargetLens() map[types.PoolTag]int

func (*PatchElementReader) GetEquivalenceSource

func (r *PatchElementReader) GetEquivalenceSource() *EquivalenceSource

func (*PatchElementReader) GetExtraDataSource

func (r *PatchElementReader) GetExtraDataSource() *ExtraDataSource

func (*PatchElementReader) GetExtraTargetSource

func (r *PatchElementReader) GetExtraTargetSource(pool types.PoolTag) *TargetSource

func (*PatchElementReader) GetRawDeltaSource

func (r *PatchElementReader) GetRawDeltaSource() *RawDeltaSource

func (*PatchElementReader) GetReferenceDeltaSource

func (r *PatchElementReader) GetReferenceDeltaSource() *ReferenceDeltaSource

func (*PatchElementReader) Initialize

func (r *PatchElementReader) Initialize(source *buffer.BufferSource) bool

type PatchElementWriter

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

func NewPatchElementWriter

func NewPatchElementWriter(match types.ElementMatch) *PatchElementWriter

func (*PatchElementWriter) SerializeInto

func (w *PatchElementWriter) SerializeInto(sink buffer.Sink) bool

func (*PatchElementWriter) SerializedSize

func (w *PatchElementWriter) SerializedSize() int

func (*PatchElementWriter) SetEquivalenceSink

func (w *PatchElementWriter) SetEquivalenceSink(eq *EquivalenceSink)

func (*PatchElementWriter) SetExtraDataSink

func (w *PatchElementWriter) SetExtraDataSink(ed *ExtraDataSink)

func (*PatchElementWriter) SetRawDeltaSink

func (w *PatchElementWriter) SetRawDeltaSink(rd *RawDeltaSink)

func (*PatchElementWriter) SetReferenceDeltaSink

func (w *PatchElementWriter) SetReferenceDeltaSink(rd *ReferenceDeltaSink)

func (*PatchElementWriter) SetTargetSink

func (w *PatchElementWriter) SetTargetSink(pool types.PoolTag, ts *TargetSink)

type PatchHeader

type PatchHeader struct {
	Magic        uint32
	MajorVersion uint16
	MinorVersion uint16
	OldSize      uint32
	OldCRC       uint32
	NewSize      uint32
	NewCRC       uint32
}

func ParsePatchHeader

func ParsePatchHeader(source *buffer.BufferSource) (*PatchHeader, bool)

func (*PatchHeader) WriteTo

func (h *PatchHeader) WriteTo(sink buffer.Sink) bool

type RawDeltaSink

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

func NewRawDeltaSink

func NewRawDeltaSink() *RawDeltaSink

func (*RawDeltaSink) PutNext

func (s *RawDeltaSink) PutNext(delta RawDeltaUnit)

func (*RawDeltaSink) SerializeInto

func (s *RawDeltaSink) SerializeInto(sink buffer.Sink) bool

func (*RawDeltaSink) SerializedSize

func (s *RawDeltaSink) SerializedSize() int

type RawDeltaSource

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

func NewRawDeltaSource

func NewRawDeltaSource() *RawDeltaSource

func (*RawDeltaSource) Done

func (s *RawDeltaSource) Done() bool

func (*RawDeltaSource) GetNext

func (s *RawDeltaSource) GetNext() (RawDeltaUnit, bool)

func (*RawDeltaSource) Initialize

func (s *RawDeltaSource) Initialize(source *buffer.BufferSource) bool

type RawDeltaUnit

type RawDeltaUnit struct {
	CopyOffset types.Offset
	Diff       int8
}

type ReferenceDeltaSink

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

func NewReferenceDeltaSink

func NewReferenceDeltaSink() *ReferenceDeltaSink

func (*ReferenceDeltaSink) PutNext

func (s *ReferenceDeltaSink) PutNext(diff int32)

func (*ReferenceDeltaSink) SerializeInto

func (s *ReferenceDeltaSink) SerializeInto(sink buffer.Sink) bool

func (*ReferenceDeltaSink) SerializedSize

func (s *ReferenceDeltaSink) SerializedSize() int

type ReferenceDeltaSource

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

func NewReferenceDeltaSource

func NewReferenceDeltaSource() *ReferenceDeltaSource

func (*ReferenceDeltaSource) Done

func (s *ReferenceDeltaSource) Done() bool

func (*ReferenceDeltaSource) GetNext

func (s *ReferenceDeltaSource) GetNext() (int32, bool)

func (*ReferenceDeltaSource) Initialize

func (s *ReferenceDeltaSource) Initialize(source *buffer.BufferSource) bool

type TargetSink

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

func NewTargetSink

func NewTargetSink() *TargetSink

func (*TargetSink) PutNext

func (s *TargetSink) PutNext(target types.Offset)

func (*TargetSink) SerializeInto

func (s *TargetSink) SerializeInto(sink buffer.Sink) bool

func (*TargetSink) SerializedSize

func (s *TargetSink) SerializedSize() int

type TargetSource

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

func NewTargetSource

func NewTargetSource() *TargetSource

func (*TargetSource) Done

func (s *TargetSource) Done() bool

func (*TargetSource) GetNext

func (s *TargetSource) GetNext() (types.Offset, bool)

func (*TargetSource) Initialize

func (s *TargetSource) Initialize(source *buffer.BufferSource) bool

Jump to

Keyboard shortcuts

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