Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Redundancy/go-sync
/ types & classes
Types & classes
63 in github.com/Redundancy/go-sync
⨍
Functions
329
◇
Types & classes
63
↓ 5 callers
TypeAlias
BlockSpanKey
Wraps a block index, allowing easy use of llrb.Get()
comparer/merger.go:63
↓ 4 callers
FuncType
FunctionRequester
-----------------------------------------------------------------------------
blocksources/blocksourcebase_test.go:29
↓ 3 callers
Struct
BlockSpan
a span of multiple blocks, from start to end, which match the blocks starting at an offset of ComparisonStartOffset
comparer/merger.go:26
↓ 2 callers
TypeAlias
BlockSpanStart
Wraps a blockspan so that it may easily be used in llrb. Corresponds to the start block of the blockspan.
comparer/merger.go:40
↓ 2 callers
TypeAlias
SingleBlockSource
filechecksum/verifier_test.go:8
↓ 2 callers
TypeAlias
StrongChecksumGetter
satisfies filechecksum.ChecksumLookup
chunks/chunks.go:83
↓ 1 callers
TypeAlias
BlockSpanEnd
Wraps a blockspan so that it may easily be used in llrb. Corresponds to the end of the blockspan.
comparer/merger.go:52
↓ 1 callers
TypeAlias
BlockSpanList
comparer/merger.go:236
↓ 1 callers
TypeAlias
FourByteBlockSource
filechecksum/verifier_test.go:30
↓ 1 callers
TypeAlias
SingleBlockSource
blocksources/httpblocksource_test.go:215
↓ 1 callers
TypeAlias
URLNotFoundError
blocksources/httpblocksource.go:38
Struct
BasicSummary
BasicSummary implements a version of the FileSummary interface
rsync.go:69
Interface
BlockBuffer
If the weak Hash object satisfies this interface, then StartFindMatchingBlocks will not allocate a circular buffer
comparer/comparer.go:25
Struct
BlockMatchResult
comparer/comparer.go:32
Struct
BlockReponse
patcher/blocksource.go:55
Interface
BlockSource
* BlockSource is an interface used by the patchers to obtain blocks from the reference It does not stipulate where the reference data might be (it cou
patcher/blocksource.go:28
Struct
BlockSourceBase
BlockSourceBase provides an implementation of blocksource that takes care of everything except for the actual asyncronous request this makes blocksour
blocksources/blocksourcebase.go:69
Interface
BlockSourceOffsetResolver
A BlockSourceOffsetResolver resolves a blockID to a start offset and and end offset in a file it also handles splitting up ranges of blocks into multi
blocksources/blocksourcebase.go:28
Interface
BlockSourceRequester
BlockSourceRequester does synchronous requests on a remote source of blocks concurrency is handled by the BlockSourceBase. This provides a simple way
blocksources/blocksourcebase.go:14
Interface
BlockSpanIndex
comparer/merger.go:34
Interface
BlockVerifier
Checks blocks against their expected checksum
blocksources/blocksourcebase.go:35
Struct
C2
* C2 is a circular buffer intended to allow you to write a block of data of up to 'blocksize', and retrieve the data evicted by that operation, withou
circularbuffer/noalloc.go:12
Struct
ChecksumIndex
index/index.go:32
Interface
ChecksumLookup
filechecksum/verifier.go:8
Struct
ChecksumResults
filechecksum/filechecksum.go:120
Struct
ChunkChecksum
For a given Block, the Weak & Strong hashes, and the offset This structure is only used to generate the index of reference files, since computing the
chunks/chunks.go:16
Struct
Comparer
* Iterates though comparison looking for blocks that match ones from the index it emits each block to be read from the returned channel. Callers shoul
comparer/comparer.go:58
FuncType
CompressionFunction
A function or object that can compress blocks the compression function must also write out the compressed blocks somewhere! Compressed blocks should b
filechecksum/filechecksum.go:132
Struct
FileChecksumGenerator
* FileChecksumGenerator provides a description of what hashing functions to use to evaluate a file. Since the hashes store state, it is NOT safe to us
filechecksum/filechecksum.go:64
Interface
FileSummary
FileSummary combines many of the interfaces that are needed It is expected that you might implement it by embedding existing structs
rsync.go:59
Struct
FixedSizeBlockResolver
blocksources/fixed_size_block_resolver.go:3
Struct
FoundBlockSpan
patcher/blocksource.go:37
Struct
HashVerifier
filechecksum/verifier.go:12
Struct
HttpRequester
This class provides the implementation of BlockSourceRequester for BlockSourceBase this simplifies creating new BlockSources that satisfy the requirem
blocksources/httpblocksource.go:47
Interface
Index
comparer/comparer.go:43
Struct
MatchMerger
The result merger takes many BlockMatchResult and combines adjoining results into spans of blocks
comparer/merger.go:12
Struct
MissingBlockSpan
patcher/blocksource.go:44
Struct
NegativeStrongIndex
comparer/comparer_bench_test.go:23
Struct
NegativeWeakIndex
comparer/comparer_bench_test.go:12
TypeAlias
PendingResponses
blocksources/sortableBlockResponse.go:7
Struct
QueuedRequest
blocksources/helpers.go:94
TypeAlias
QueuedRequestList
blocksources/helpers.go:99
Struct
RSync
* RSync is an object designed to make the standard use-case for gosync as easy as possible. To this end, it hides away many low level choices by defa
rsync.go:43
Interface
ReadSeeker
blocksources/readseeker_blocksource.go:11
Interface
ReadSeekerAt
ReadSeekerAt is the combinaton of ReadSeeker and ReaderAt interfaces
rsync.go:31
Struct
ReadSeekerRequester
blocksources/readseeker_blocksource.go:31
Interface
RollingHash
filechecksum/filechecksum.go:40
Struct
Rollsum32
Rollsum32 is a rolling checksum implemenation inspired by rsync, but with 32bit internal values Create one using NewRollsum32
rollsum/rollsum_32.go:28
Struct
Rollsum32Base
The specification of hash.Hash is such that it cannot be implemented without implementing storage but the most optimal storage scheme depends on usage
rollsum/rollsum_32_base.go:19
TypeAlias
StrongChecksumList
index/index.go:125
TypeAlias
UintSlice
blocksources/helpers.go:73
Struct
asyncResult
blocksources/helpers.go:87
Interface
closer
rsync.go:53
Struct
doubleSizeBuffer
circularbuffer/noalloc.go:27
Struct
errorWatcher
errorWatcher is a small helper object sendIfSet will only return a channel if there is an error set so w.sendIfSet() <- w.Err() is always safe in a se
blocksources/helpers.go:12
Struct
erroringRequester
-----------------------------------------------------------------------------
blocksources/blocksourcebase_test.go:13
Struct
fileCloser
rsync.go:263
Struct
fileCopyCloser
rsync.go:287
Struct
nonRepeatingSequenceReader
*should* produce a non-repeating sequence of bytes in a deterministic fashion use io.LimitReader to limit it to a specific length
util/readers/nonrepeating.go:13
Struct
nullCloser
rsync.go:281
Struct
pendingResponseHelper
blocksources/helpers.go:40
Struct
testError
blocksources/blocksourcebase_test.go:14
Struct
uniformReader
Reads a continuous stream of bytes with the same value, up to length
util/readers/uniformreader.go:8