Matthias Beyer
c29e05bc25
This way we alter the underlying iterator for all contacts to only iterate in the "contact" collection of the store, which results in fewer disk access because the internal iterator does not yield all pathes from the store before filtering them. Signed-off-by: Matthias Beyer <mail@beyermatthias.de> |
||
---|---|---|
.. | ||
src | ||
Cargo.toml | ||
README.md |
libimagcontacts
The contact library basically only creates references to the actual
vcard files, though it also can parse (via the vobject
crate) the
information and return it from an entry directly.
The architecture of indirections is as follows:
+--------------------------------+
| |
| Store, as ContactStore |
| |
+----------------+---------------+
|
| Provides access to
|
+----------------v---------------+
| |
| (FileLock)Entry as Contact |
| |
| which is actually a: |
| |
| (FileLock)Entry as Ref |
| |
+----------------+---------------+
|
| refers to
|
+----------------v---------------+
| |
| vcard file (outside store) |
| |
+----------------+---------------+
|
| contains
|
+----------------v---------------+
| |
| vcard data |
| |
+--------------------------------+