# [−][src]Crate fast_rsync

A faster implementation of librsync in pure Rust.

This crate offers three major APIs:

- Signature::calculate(), which takes a block of data and returns a "signature" of that data which is much smaller than the original data.
- diff(), which takes a signature for some block A, and a block of data B, and returns a delta between block A and block B. If A and B are "similar", then the delta is usually much smaller than block B.
- apply(), which takes a block A and a delta (as constructed by diff()), and (usually) returns the block B.

## Structs

DiffError | Indicates that a delta could not be calculated, generally because the provided signature was invalid or unsupported. |

IndexedSignature | A signature with a block index, suitable for calculating deltas. |

Signature | An rsync signature. |

SignatureOptions | Options for Signature::calculate. |

SignatureParseError | Indicates that a signature was not valid. |

## Enums

ApplyError | Indicates that a delta could not be applied because it was invalid. |

## Functions

apply | Apply |

apply_limited | Apply |

diff | Calculate a delta and write it to |