[][src]Module rrsync::sync

This module contains the transfer protocol handlers.

The general architecture is as follows:

+--------+   new index   +------+
|        | +-----------> |      |
| Source |               | Sink |
|        | request block |      |
|        | <-----------+ |      |
|        |               |      |
|        |  send block   |      |
|        | +-----------> |      |
+--------+               +------+

First the old index is computed and loaded in full.

Then, the new index is fed in either all at once or in a streaming fashion.

The sink will request blocks that are missing from the destination, which are fed in as they are received.

Modules

fs

Enums

IndexEvent

Events that are received from the index data.

Traits

Sink

The sink, representing where the files are being sent.

SinkExt
SinkWrapper

Wrapper for ownership reasons

Source

The source, representing where the files are coming from.

SourceWrapper

Wrapper for ownership reasons

Functions

do_sync