pub struct Delivered {
pub sign: SideRate,
pub verify: SideRate,
pub per_role: Vec<(Role, f64)>,
pub latency_us: Vec<(Role, f64)>,
pub services: Vec<Service>,
pub sha_bound: bool,
pub sha_wanted: f64,
pub batch: f64,
pub batch_mismatch: bool,
pub needs: Vec<(Role, f64)>,
}Expand description
Delivered rates of the chip.
Fields§
§sign: SideRateThe sign side.
verify: SideRateThe verify side.
per_role: Vec<(Role, f64)>Delivered operations per second of each role.
latency_us: Vec<(Role, f64)>Idle latency of each role’s slowest module in microseconds (plus the SHA line’s passes for modules that hash on it).
services: Vec<Service>Services at the delivered rates.
sha_bound: boolThe SHA-512 line limits the chip (shrinking it lowers both sides).
sha_wanted: f64SHA-512 blocks per second both sides would hash at the rates they deliver before any SHA-512 limit: what a line must supply so it is not the bottleneck.
batch: f64DSig’s batch size used for the needs.
batch_mismatch: boolDSig’s sign and verify modules report different batch sizes (the signer’s is used).
needs: Vec<(Role, f64)>Operations of each role per delivered operation of its side: the
paper’s Mode::need, or zero for a role another module
covers.
Implementations§
Trait Implementations§
impl StructuralPartialEq for Delivered
Auto Trait Implementations§
impl Freeze for Delivered
impl RefUnwindSafe for Delivered
impl Send for Delivered
impl Sync for Delivered
impl Unpin for Delivered
impl UnsafeUnpin for Delivered
impl UnwindSafe for Delivered
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more