[−][src]Struct trust_graph::TrustGraph
Graph to efficiently calculate weights of certificates and get chains of certificates. TODO serialization/deserialization TODO export a certificate from graph
Methods
impl TrustGraph
[src]
pub fn new(root_weights: Vec<(PublicKey, u32)>) -> Self
[src]
pub fn get(&self, pk: PublicKey) -> Option<&TrustNode>
[src]
Get trust by public key
pub fn add(
&mut self,
cert: Certificate,
cur_time: Duration
) -> Result<(), String>
[src]
&mut self,
cert: Certificate,
cur_time: Duration
) -> Result<(), String>
Certificate is a chain of trusts, add this chain to graph
pub fn weight(&self, pk: PublicKey) -> Option<u32>
[src]
Get the maximum weight of trust for one public key. Returns None if there is no such public key or some trust between this key and a root key is revoked. TODO handle non-direct revocations
pub fn get_all_certs(
&self,
issued_for: PublicKey,
roots: &[PublicKey]
) -> Vec<Certificate>
[src]
&self,
issued_for: PublicKey,
roots: &[PublicKey]
) -> Vec<Certificate>
Get all possible certificates where issued_for
will be the last element of the chain
and one of the destinations is the root of this chain.
pub fn revoke(&mut self, revoke: Revoke) -> Result<(), String>
[src]
Mark public key as revoked.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for TrustGraph
impl Send for TrustGraph
impl Sync for TrustGraph
impl Unpin for TrustGraph
impl UnwindSafe for TrustGraph
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
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]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,