[−][src]Trait dubp_wot::data::WebOfTrust
Trait for a Web Of Trust.
Allow to provide other implementations of the WoT
logic instead of the legacy C++
translated one.
Required methods
fn new(max_links: usize) -> Self
Create a new Web of Trust with the maximum of links a node can issue.
fn clear(&mut self)
Clear Web of Trust datas
fn get_max_link(&self) -> usize
Get the maximum number of links per user.
fn set_max_link(&mut self, max_link: usize)
Set the maximum number of links per user.
fn add_node(&mut self) -> WotId
Add a new node.
fn rem_node(&mut self) -> Option<WotId>
Remove the last node.
Returns None
if the WoT was empty, otherwise new top node id.
fn size(&self) -> usize
Get the size of the WoT.
fn is_enabled(&self, id: WotId) -> Option<bool>
Check if given node is enabled.
Returns None
if this node doesn't exist.
fn set_enabled(&mut self, id: WotId, enabled: bool) -> Option<bool>
Set the enabled state of given node.
Returns Null
if this node doesn't exist, enabled
otherwise.
fn get_enabled(&self) -> Vec<WotId>
Get enabled node array.
fn get_disabled(&self) -> Vec<WotId>
Get disabled node array.
fn add_link(&mut self, source: WotId, target: WotId) -> NewLinkResult
Try to add a link from the source to the target.
fn rem_link(&mut self, source: WotId, target: WotId) -> RemLinkResult
Try to remove a link from the source to the target.
fn has_link(&self, source: WotId, target: WotId) -> HasLinkResult
Test if there is a link from the source to the target.
fn get_links_source(&self, target: WotId) -> Option<Vec<WotId>>
Get the list of links source for this target.
Returns None
if this node doesn't exist.
fn issued_count(&self, id: WotId) -> Option<usize>
Get the number of issued links by a node.
Returns None
if this node doesn't exist.
fn is_sentry(&self, node: WotId, sentry_requirement: usize) -> Option<bool>
Test if a node is a sentry.
fn get_sentries(&self, sentry_requirement: usize) -> Vec<WotId>
Get sentries array.
fn get_non_sentries(&self, sentry_requirement: usize) -> Vec<WotId>
Get non sentries array.
fn dump<W: Write>(&self, output: &mut W) -> Result<()>
Dump wot