pub struct RxState<const T: usize, const P: usize> {Show 44 fields
pub configured: bool,
pub epoch: b32,
pub n: b5,
pub me: b5,
pub b: b5,
pub session: b64,
pub others: b16,
pub fault: b8,
pub any_data: bool,
pub last_idx: b32,
pub e: [Entry<P>; T],
pub reg_busy: [bool; T],
pub busy_idx: [b32; T],
pub conf_busy: bool,
pub conf_sent: bool,
pub conf_slot: b4,
pub conf_idx: b32,
pub conf_ridx: b32,
pub conf_newer: bool,
pub conf_from: b5,
pub conf_digest: [b64; 4],
pub conf_sig: [b64; 8],
pub next_out: b32,
pub h_dig: DigestReq<P>,
pub h_echo: EchoOut,
pub h_ver: VerifyReq,
pub h_wr: WriteReq,
pub h_rd: ReadReq,
pub h_dl: Delivery<P>,
pub delivered_fast: b32,
pub delivered_slow: b32,
pub gaps: b32,
pub clock: b32,
pub f_busy: bool,
pub f_idx: b32,
pub f_start: b32,
pub f_last: b32,
pub f_inj: bool,
pub f_to: b5,
pub f_tried: bool,
pub f_tried_idx: b32,
pub h_fx: FetchReqOut,
pub h_fa: FetchAnsOut<P>,
pub recovered: b32,
}Expand description
State.
Fields§
§configured: bool§epoch: b32Generation: requests carry it, stale responses are dropped.
n: b5§me: b5§b: b5§session: b64§others: b16Every receiver but me and b.
fault: b8§any_data: bool§last_idx: b32§e: [Entry<P>; T]§reg_busy: [bool; T]Our register write per slot is in flight (outlives its entry).
busy_idx: [b32; T]The index whose write is in flight per slot.
conf_busy: boolOne conflicting register under verification at a time.
conf_sent: bool§conf_slot: b4§conf_idx: b32The entry the check is for.
conf_ridx: b32The index the other receiver’s register claims, and whether it is newer than the entry (else: the same index, another digest).
conf_newer: bool§conf_from: b5§conf_digest: [b64; 4]§conf_sig: [b64; 8]§next_out: b32The next index the consumer gets (as a message or inside a gap).
h_dig: DigestReq<P>Output holding registers: a request, once presented, stays unchanged until taken (the stream rule).
h_echo: EchoOut§h_ver: VerifyReq§h_wr: WriteReq§h_rd: ReadReq§h_dl: Delivery<P>§delivered_fast: b32Counters.
delivered_slow: b32§gaps: b32§clock: b32Catch-up (R-26): a cycle counter; the index being fetched, since when, when last asked, whether a copy is in its tail entry; the last index whose fetch failed (it is not fetched twice); holding registers; indices recovered.
f_busy: bool§f_idx: b32§f_start: b32§f_last: b32§f_inj: bool§f_to: b5The receiver currently asked.
f_tried: bool§f_tried_idx: b32§h_fx: FetchReqOut§h_fa: FetchAnsOut<P>§recovered: b32Implementations§
Trait Implementations§
Source§impl<const T: usize, const P: usize> Digital for RxState<T, P>
impl<const T: usize, const P: usize> Digital for RxState<T, P>
Source§const BITS: usize
const BITS: usize
Source§fn static_kind() -> Kind
fn static_kind() -> Kind
Source§fn bin(self) -> Box<[BitX]>
fn bin(self) -> Box<[BitX]>
§fn typed_bits(self) -> TypedBits
fn typed_bits(self) -> TypedBits
§fn discriminant(self) -> TypedBits
fn discriminant(self) -> TypedBits
§fn variant_kind(self) -> Kind
fn variant_kind(self) -> Kind
§fn binary_string(self) -> String
fn binary_string(self) -> String
impl<const T: usize, const P: usize> Copy for RxState<T, P>
impl<const T: usize, const P: usize> StructuralPartialEq for RxState<T, P>
Auto Trait Implementations§
impl<const T: usize, const P: usize> Freeze for RxState<T, P>
impl<const T: usize, const P: usize> RefUnwindSafe for RxState<T, P>
impl<const T: usize, const P: usize> Send for RxState<T, P>
impl<const T: usize, const P: usize> Sync for RxState<T, P>
impl<const T: usize, const P: usize> Unpin for RxState<T, P>
impl<const T: usize, const P: usize> UnsafeUnpin for RxState<T, P>
impl<const T: usize, const P: usize> UnwindSafe for RxState<T, P>
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
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>
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>
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§impl<D> OwoColorize for D
impl<D> OwoColorize for D
§fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>where
C: Color,
§fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>where
C: Color,
§fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>
§fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
fn default_color(&self) -> FgColorDisplay<'_, Default, Self>
§fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>
§fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>
§fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>
§fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>
§fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>
§fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>
§fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>
§fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>
§fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>
§fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>
§fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>
§fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>
§fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>
§fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>
§fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>
§fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>
§fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>
§fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
fn blink_fast(&self) -> BlinkFastDisplay<'_, Self>
§fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>
§fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::fg] or
a color-specific method, such as [OwoColorize::green], Read more§fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>where
Color: DynColor,
OwoColorize::bg] or
a color-specific method, such as [OwoColorize::on_yellow], Read more