# Rexd v1.0.0 - Table of Contents

> The rsync algorithm as a pure-Elixir library: signature, delta and patch over binaries and streams, wire-compatible with librsync 2.x (rdiff).

## Pages

- [Rexd](readme.md)
- [Implementation notes](notes.md)
- [Benchmarks](bench.md)
- [Changelog](changelog.md)
- [Contributing](contributing.md)
- [Security policy](security.md)

## Modules

- Core
  - [Rexd](Rexd.md): The rsync algorithm over binaries, wire-compatible with librsync 2.x.
  - [Rexd.Delta](Rexd.Delta.md): A delta: the commands that rebuild a new binary from a basis, and its
librsync wire encoding.
  - [Rexd.Delta.Stats](Rexd.Delta.Stats.md): Statistics about a delta and the search that produced it.
  - [Rexd.Signature](Rexd.Signature.md): A block signature of a basis binary, and its librsync wire encoding.

- Streaming
  - [Rexd.Stream](Rexd.Stream.md): Streaming signature, delta and patch.
  - [Rexd.StreamError](Rexd.StreamError.md): Raised while a `Rexd.Stream` enumerable is consumed and its input turns out
to be invalid.

- In-place patching
  - [Rexd.InPlace](Rexd.InPlace.md): In-place patching: rebuilding the new version inside the storage that holds
the basis, without a second copy, following Rasch and Burns, *In-Place Rsync*
(USENIX 2003).

- Checksums
  - [Rexd.Blake2b](Rexd.Blake2b.md): BLAKE2b-256 (RFC 7693, unkeyed, digest length 32), the strong hash of
librsync `RS_*_BLAKE2_SIG_MAGIC` signatures.

