pub enum DualPpMode {
Off,
Forced,
Auto,
}Expand description
MEMRA_DUAL_PP three-state mode for the dual-active PP-2 batched decode path. Default ON (owner flip 2026-08-11) after the box1 PRO-pair re-gate: correctness bit-identity B=1..5, servestress no-thrash, 10-boot soak 929/929 golden matches with 0 slot collisions across 9123 pairs (research/dualpp2-20260811/RESULTS-regate.md), plus the dualpp1 c>=8 interleaved perf floor (+20.753% minimum, research/dualpp1-20260811/RESULTS.md).
The three states carry different failure semantics on purpose:
Off(MEMRA_DUAL_PP=0): the serial rollback seam. Overlap also follows OFF unlessMEMRA_PP_OVERLAPis set explicitly, so one flag restores the exact pre-flip naked path.Forced(MEMRA_DUAL_PP=1): the pre-flip explicit request. A placement that cannot run dual (single-slot boundary, host bounce, non-PP-2 fence) REFUSES with the binding quoted reason before any token or cache advance — the gate negative cells pin this.Auto(unset): the flipped default. Dual runs where the re-gate validated it (PP-2 fence, double-slot, peer transport, B>=2) and silently degrades to the serial PP-N walker everywhere else — naked PP-3 serving and the MEMRA_PP_HOST_BOUNCE=1 broken-peer escape hatch must keep decoding, not refuse.
Variants§
Trait Implementations§
Source§impl Clone for DualPpMode
impl Clone for DualPpMode
Source§fn clone(&self) -> DualPpMode
fn clone(&self) -> DualPpMode
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for DualPpMode
Source§impl Debug for DualPpMode
impl Debug for DualPpMode
impl Eq for DualPpMode
Source§impl PartialEq for DualPpMode
impl PartialEq for DualPpMode
impl StructuralPartialEq for DualPpMode
Auto Trait Implementations§
impl Freeze for DualPpMode
impl RefUnwindSafe for DualPpMode
impl Send for DualPpMode
impl Sync for DualPpMode
impl Unpin for DualPpMode
impl UnsafeUnpin for DualPpMode
impl UnwindSafe for DualPpMode
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