Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Preparation of Findex v7 #84

Open
wants to merge 29 commits into
base: develop
Choose a base branch
from
Open

Preparation of Findex v7 #84

wants to merge 29 commits into from

Conversation

tbrezot
Copy link
Contributor

@tbrezot tbrezot commented Feb 21, 2024

In this MR, I write the core logic of Findex v7 (the one described in the Findex paper).

The graph and index interfaces from Findex v6 are not updated and therefore do not compile.

Tests can be run using cargo test --features in_memory.

src/vera/vera.rs Outdated Show resolved Hide resolved
src/vera/vera.rs Outdated Show resolved Hide resolved
Comment on lines +34 to +35
///
/// Returns the restriction of the stored DX to the conflicting tags.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
///
/// Returns the restriction of the stored DX to the conflicting tags.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will keep this, since this is what the insert returns.

src/findex/findex.rs Outdated Show resolved Hide resolved
src/findex/findex.rs Outdated Show resolved Hide resolved
src/db/in_memory_db.rs Outdated Show resolved Hide resolved

pub use structs::{Token, Edx};

pub trait EdxDbInterface {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not a DbInterface instead of EdxDbInterface?

Copy link
Contributor Author

@tbrezot tbrezot Feb 23, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To underline the fact that Vera stores the EDX in the shape of an EDX, while Findex stores an EMM as two EDXes.

This was also a good way to comfort me in moving the definition of the EDX to the DB module.

@tbrezot tbrezot requested a review from Adamk93 February 26, 2024 12:58
- add benches
- add useful macros
- correct some errors
This is okay since this version is not to be released. It is only the paper's
supporting version. The graph functionality is missing, which changes all
interface arguments (no `IndexedValue`). The tests removed in this commit are to
be re-written upon v7 release.

Also care was taken to write (both sequential and concurrent) tests for each
scheme implemented in this repo. So I have a good confidence about their
correctness.
Copy link
Contributor

@Manuthor Manuthor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please find this PR with some clippy fixes: #85.
I let here a comment to not forget to reimplement non regression tests that have been deleted here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants