pub struct CheckingParameters { /* private fields */ }
Expand description
CheckingParameters
carry enough information to confirm whether a
Voucher
was generated from a given u64
value using the unknown
VouchingParameters
associated with the CheckingParameters
.
CheckingParameters
should be obtained either by calling
VouchingParameters::checking_parameters
for transient
in-memory parameters, by parsing a string representation with
CheckingParameters::parse
or
CheckingParameters::parse_bytes
, or, when initialising const
variables with hardcoded strings, with
CheckingParameters::parse_or_die
.
After that, the result of VouchingParameters::vouch
can be checked
with CheckingParameters::check
, and that of VouchingParameters::vouch_many
with CheckingParameters::check_many
.
Implementations§
Source§impl CheckingParameters
impl CheckingParameters
Sourcepub const REPRESENTATION_BYTE_COUNT: usize = 39usize
pub const REPRESENTATION_BYTE_COUNT: usize = 39usize
Number of ASCII characters in the string representation for
one CheckingParameters
instance.
Sourcepub const fn parse(string: &str) -> Result<CheckingParameters, &'static str>
pub const fn parse(string: &str) -> Result<CheckingParameters, &'static str>
Attempts to parse the string representation of a CheckingParameters
instance.
This representation can be generated by the std::fmt::Display
trait, e.g.,
with format!("{}", checking_params) => "CHECK-9bf723a6b538fe4a-1dddb95caa81d852"
.
Sourcepub const fn parse_or_die(string: &str) -> CheckingParameters
pub const fn parse_or_die(string: &str) -> CheckingParameters
Parses the string representation of a CheckingParameters
object
or panics.
This function is mostly useful to initialise const
literals.
Sourcepub const fn check(self, expected: u64, voucher: Voucher) -> bool
pub const fn check(self, expected: u64, voucher: Voucher) -> bool
Returns whether the expected
value matches the voucher
,
assuming the voucher was generated with the VouchingParameters
from
which the self CheckingParameters
came.
If the voucher
was generated from different parameters
(generated independently and uniformly at random), the
probability of a match is less than 2**-60
.
Sourcepub fn check_many(self, expected: &[u64], vouchers: &[Voucher]) -> bool
pub fn check_many(self, expected: &[u64], vouchers: &[Voucher]) -> bool
Returns whether the expected
values match all the
voucher
s, assuming the vouchers were generated with the
VouchingParameters
from which the self
CheckingParameters
came.
If the voucher
s were generated from different parameters
(generated independently and uniformly at random), the
probability of a match is less than 2**-60
.
Sourcepub const fn parse_bytes(
bytes: &[u8],
) -> Result<CheckingParameters, &'static str>
pub const fn parse_bytes( bytes: &[u8], ) -> Result<CheckingParameters, &'static str>
Attempts to parse bytes
, which must be the utf-8 (it’s all
ASCII) representation of a serialised CheckingParameters
,
with a length of exactly REPRESENTATION_BYTE_COUNT
bytes.
Returns the CheckingParameters
on success, and an error
reason on failure.
Trait Implementations§
Source§impl Clone for CheckingParameters
impl Clone for CheckingParameters
Source§fn clone(&self) -> CheckingParameters
fn clone(&self) -> CheckingParameters
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more