From 5eb43b84640c8fcb9dd0347bf0177f185e2c4511 Mon Sep 17 00:00:00 2001 From: Marian Beermann Date: Sat, 10 Jun 2017 10:05:43 +0200 Subject: [PATCH] cache sync: give overview of the source's structure --- src/borg/cache_sync/cache_sync.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/borg/cache_sync/cache_sync.c b/src/borg/cache_sync/cache_sync.c index e0c2e0fb8..e4bc653b2 100644 --- a/src/borg/cache_sync/cache_sync.c +++ b/src/borg/cache_sync/cache_sync.c @@ -1,3 +1,20 @@ +/* + * Borg cache synchronizer, + * high level interface. + * + * These routines parse msgpacked item metadata and update a HashIndex + * with all chunks that are referenced from the items. + * + * This file only contains some initialization and buffer management. + * + * The parser is split in two parts, somewhat similar to lexer/parser combinations: + * + * unpack_template.h munches msgpack and calls a specific callback for each object + * encountered (e.g. beginning of a map, an integer, a string, a map item etc.). + * + * unpack.h implements these callbacks and uses another state machine to + * extract chunk references from it. + */ #include "unpack.h"