[][src]Struct crev_wot::ProofDB

pub struct ProofDB { /* fields omitted */ }

In memory database tracking information from proofs

After population, used for calculating the effective trust set, etc.

Right now, for every invocation of crev, we just load it up with all known proofs, and then query. If it ever becomes too slow, all the logic here will have to be moved to a real embedded db of some kind.

Implementations

impl ProofDB[src]

pub fn new() -> Self[src]

pub fn get_pkg_alternatives_by_author<'s, 'a>(
    &'s self,
    from: &'a Id,
    pkg_id: &'a PackageId
) -> HashSet<PackageId>
[src]

pub fn get_pkg_alternatives<'s, 'a>(
    &'s self,
    pkg_id: &'a PackageId
) -> HashSet<(Id, PackageId)>
[src]

pub fn get_pkg_flags_by_author<'s, 'a>(
    &'s self,
    from: &'a Id,
    pkg_id: &'a PackageId
) -> Option<&'s Flags>
[src]

pub fn get_pkg_flags<'s, 'a>(
    &'s self,
    pkg_id: &'a PackageId
) -> impl Iterator<Item = (&Id, &'s Flags)>
[src]

pub fn get_pkg_reviews_for_source<'a, 'b>(
    &'a self,
    source: &'b str
) -> impl Iterator<Item = &'a Package>
[src]

pub fn get_pkg_reviews_for_name<'a, 'b, 'c: 'a>(
    &'a self,
    source: &'b str,
    name: &'c str
) -> impl Iterator<Item = &'a Package>
[src]

pub fn get_pkg_reviews_for_version<'a, 'b, 'c: 'a, 'd: 'a>(
    &'a self,
    source: &'b str,
    name: &'c str,
    version: &'d Version
) -> impl Iterator<Item = &'a Package>
[src]

pub fn get_pkg_reviews_gte_version<'a, 'b, 'c: 'a, 'd: 'a>(
    &'a self,
    source: &'b str,
    name: &'c str,
    version: &'d Version
) -> impl Iterator<Item = &'a Package>
[src]

pub fn get_pkg_reviews_lte_version<'a, 'b, 'c: 'a, 'd: 'a>(
    &'a self,
    source: &'b str,
    name: &'c str,
    version: &'d Version
) -> impl Iterator<Item = &'a Package>
[src]

pub fn get_pkg_review_by_pkg_review_id(
    &self,
    uniq: &PkgVersionReviewId
) -> Option<&Package>
[src]

pub fn get_pkg_review<'a, 'b, 'c: 'a, 'd: 'a>(
    &'a self,
    source: &'b str,
    name: &'c str,
    version: &'d Version,
    id: &Id
) -> Option<&Package>
[src]

pub fn get_advisories<'a, 'b, 'c: 'a, 'd: 'a>(
    &'a self,
    source: &'b str,
    name: Option<&'c str>,
    version: Option<&'d Version>
) -> impl Iterator<Item = &'a Package> + 'a
[src]

pub fn get_pkg_reviews_with_issues_for<'a, 'b, 'c: 'a, 'd: 'a>(
    &'a self,
    source: &'b str,
    name: Option<&'c str>,
    version: Option<&'c Version>,
    trust_set: &'d TrustSet,
    trust_level_required: TrustLevel
) -> impl Iterator<Item = &Package>
[src]

pub fn get_advisories_for_version<'a, 'b, 'c: 'a, 'd: 'a>(
    &'a self,
    source: &'b str,
    name: &'c str,
    version: &'d Version
) -> impl Iterator<Item = &Package>
[src]

pub fn get_advisories_for_package<'a, 'b, 'c: 'a>(
    &'a self,
    source: &'b str,
    name: &'c str
) -> impl Iterator<Item = &Package>
[src]

pub fn get_advisories_for_source(
    &self,
    source: &str
) -> impl Iterator<Item = &Package>
[src]

pub fn get_open_issues_for_version(
    &self,
    source: &str,
    name: &str,
    queried_version: &Version,
    trust_set: &TrustSet,
    trust_level_required: TrustLevel
) -> HashMap<String, IssueDetails>
[src]

Get all issues affecting a given package version

Collect a map of Issue ID -> IssueReports, listing all issues known to affect a given package version.

These are calculated from advisories and issues fields of the package reviews of reviewers intside a given trust_set of at least given trust_level_required.

pub fn get_pkg_reviews_with_issues_for_version<'a, 'b, 'c: 'a>(
    &'a self,
    source: &'b str,
    name: &'c str,
    queried_version: &'c Version,
    trust_set: &'c TrustSet,
    trust_level_required: TrustLevel
) -> impl Iterator<Item = &Package>
[src]

pub fn get_pkg_reviews_with_issues_for_name<'a, 'b, 'c: 'a>(
    &'a self,
    source: &'b str,
    name: &'c str,
    trust_set: &'c TrustSet,
    trust_level_required: TrustLevel
) -> impl Iterator<Item = &Package>
[src]

pub fn get_pkg_reviews_with_issues_for_source<'a, 'b, 'c: 'a>(
    &'a self,
    source: &'b str,
    trust_set: &'c TrustSet,
    trust_level_required: TrustLevel
) -> impl Iterator<Item = &Package>
[src]

pub fn unique_package_review_proof_count(&self) -> usize[src]

pub fn unique_trust_proof_count(&self) -> usize[src]

pub fn get_package_review_count(
    &self,
    source: &str,
    name: Option<&str>,
    version: Option<&Version>
) -> usize
[src]

pub fn get_package_reviews_for_package<'a, 'b, 'c: 'a, 'd: 'a>(
    &'a self,
    source: &'b str,
    name: Option<&'c str>,
    version: Option<&'d Version>
) -> impl Iterator<Item = &'a Package> + 'a
[src]

pub fn get_package_reviews_for_package_sorted<'a, 'b, 'c: 'a, 'd: 'a>(
    &'a self,
    source: &'b str,
    name: Option<&'c str>,
    version: Option<&'d Version>
) -> Vec<Package>
[src]

pub fn all_known_ids(&self) -> BTreeSet<Id>[src]

pub fn all_author_ids(&self) -> BTreeMap<Id, usize>[src]

Get all Ids that authored a proof (with total count)

pub fn get_package_review_by_signature<'a>(
    &'a self,
    signature: &str
) -> Option<&'a Package>
[src]

pub fn get_package_reviews_by_digest<'a>(
    &'a self,
    digest: &Digest
) -> impl Iterator<Item = Package> + 'a
[src]

pub fn import_from_iter(
    &mut self,
    i: impl Iterator<Item = (Proof, FetchSource)>
)
[src]

pub fn calculate_trust_set(
    &self,
    for_id: &Id,
    params: &TrustDistanceParams
) -> TrustSet
[src]

pub fn lookup_url(&self, id: &Id) -> UrlOfId<'_>[src]

Finds which URL is the latest and claimed to belong to the given Id. The result indicates how reliable information this is.

Trait Implementations

impl Default for ProofDB[src]

Auto Trait Implementations

impl RefUnwindSafe for ProofDB

impl Send for ProofDB

impl Sync for ProofDB

impl Unpin for ProofDB

impl UnwindSafe for ProofDB

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,