Struct sskr::Spec

source ·
pub struct Spec { /* private fields */ }
Expand description

A specification for an SSKR split.

Implementations§

source§

impl Spec

source

pub fn new( group_threshold: usize, groups: Vec<GroupSpec> ) -> Result<Self, SSKRError>

Creates a new Spec instance with the given group threshold and groups.

§Arguments
  • group_threshold - The minimum number of groups required to reconstruct the secret.
  • groups - The list of GroupSpec instances that define the groups and their members.
§Errors

Returns an error if the group threshold is zero, if the group threshold is greater than the number of groups, or if the number of groups is greater than the maximum share count.

source

pub fn group_threshold(&self) -> usize

Returns the group threshold.

source

pub fn groups(&self) -> &[GroupSpec]

Returns a slice of the group specifications.

source

pub fn group_count(&self) -> usize

Returns the number of groups.

source

pub fn share_count(&self) -> usize

Returns the total number of shares across all groups.

Trait Implementations§

source§

impl Debug for Spec

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for Spec

source§

fn eq(&self, other: &Spec) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for Spec

Auto Trait Implementations§

§

impl Freeze for Spec

§

impl RefUnwindSafe for Spec

§

impl Send for Spec

§

impl Sync for Spec

§

impl Unpin for Spec

§

impl UnwindSafe for Spec

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

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

source§

fn vzip(self) -> V