radicle-heartwood-lfs/radicle-fetch/src
Fintan Halpenny 3ad2b4431f
fetch: only send changed wants and haves
This change limits the amount of `wants` and `haves` data that is sent
to the serving side of a fetch.

When a `RefsAt` announcement is sent, the fetching peer can calculate
the difference between the `rad/sigrefs` they're aware of -- if it
exists -- and the newly advertised `rad/sigrefs`. This means they can
efficiently ask for the `wants` and `haves` of references that have
changed -- saving some data sent over to the serving side.

Signed-off-by: Fintan Halpenny <fintan.halpenny@gmail.com>
X-Clacks-Overhead: GNU Terry Pratchett
2024-03-12 13:01:03 +01:00
..
git fetch: allow fetch of annotated tags 2024-03-11 11:13:26 +01:00
transport fetch: assure that the final flush packet is consumed after receiving a pack 2023-11-17 12:24:10 +01:00
git.rs radicle-fetch 2023-11-06 12:06:13 +01:00
handle.rs Rename `Id` to `RepoId` 2024-01-22 15:51:44 +01:00
lib.rs fetch: only send changed wants and haves 2024-03-12 13:01:03 +01:00
policy.rs Fix code around default policies 2024-01-25 21:11:08 +01:00
refs.rs radicle-fetch 2023-11-06 12:06:13 +01:00
sigrefs.rs fetch: only send changed wants and haves 2024-03-12 13:01:03 +01:00
stage.rs fetch: only send changed wants and haves 2024-03-12 13:01:03 +01:00
state.rs fetch: only send changed wants and haves 2024-03-12 13:01:03 +01:00
transport.rs Update Rust toolchain to 1.74 2023-11-17 16:58:24 +01:00