pub struct NoEngine;Expand description
The build without the engine: honest idle, refusals by name.
Trait Implementations§
Source§impl World for NoEngine
impl World for NoEngine
Source§fn engine_present(&self) -> bool
fn engine_present(&self) -> bool
Does this build link the engine?
Source§fn journal_path(&self) -> PathBuf
fn journal_path(&self) -> PathBuf
/serialdat/grow-journal.Source§fn mounted_bytes(&self) -> u64
fn mounted_bytes(&self) -> u64
/data’s size as mounted, 0 when not.fn pause_admission(&self)
fn unpause_admission(&self)
fn in_flight(&self) -> u64
fn suspend_identity(&self, _why: &str) -> Result<IdentityFacts, String>
fn resume_identity(&self) -> Result<ResumeFacts, String>
fn close_stores(&self) -> Result<(), String>
fn reopen_stores(&self) -> Result<(), String>
fn sync_and_unmount(&self) -> Result<(), String>
fn stop_array(&self) -> Result<(), String>
fn rescan(&self) -> Result<(), String>
fn survey(&self) -> SurveyFacts
Source§fn grow_and_mount(&self) -> Result<Grown, String>
fn grow_and_mount(&self) -> Result<Grown, String>
G1–G6 and the mount, with the serve-at-old-size fallback inside;
Err only when nothing could be assembled or mounted.fn epoch_for(&self, _target_sectors: u64) -> u64
fn note( &self, _epoch: u64, _target_sectors: u64, _step: Step, ) -> Result<(), String>
Source§fn remember_nonce(&self, _nonce: &str) -> Result<bool, String>
fn remember_nonce(&self, _nonce: &str) -> Result<bool, String>
Ok(true) when nonce was never seen on this box and is now
recorded; Ok(false) when it was spent before.Source§fn hotplug(&self) -> bool
fn hotplug(&self) -> bool
Does the RUNNING kernel have PCI hot-plug? A member detached and
re-attached while gunnar runs is invisible without it, so a runtime
growth is refused by name (
crate::dashboard::probe::pci_hotplug).Source§fn journal_present(&self) -> bool
fn journal_present(&self) -> bool
Is that journal FILE on this box? — the one measurement that says
whether this MEDIUM’s boot stack grows the set, as opposed to whether
this BINARY links the engine (
engine_present). The two are different
facts and the box carries both: korp_installer::grow::linux::open_journal
(0.1.12, src/grow.rs:1072) is called from datahome’s assemble pass
on every boot that carries the engine, and Journal::open
(src/grow.rs:277) opens with .create(true) — so the file exists from
the FIRST such boot, before any growth has run, and is absent exactly
when korp-start never had a grow pass (or found no off-stripe home to
keep it on, in which case the engine went Journal::volatile and this
box keeps no crash record either way). Read moreSource§fn flush_replication(&self, ceiling: Duration) -> FlushVerdict
fn flush_replication(&self, ceiling: Duration) -> FlushVerdict
Push everything to every standby and say whether they took it,
bounded by
ceiling. Called once, by the drain, after in_flight
reaches 0 — see FlushVerdict. Read moreSource§fn starting(&self) -> Option<String>
fn starting(&self) -> Option<String>
Is the box still STARTING — the start-up disk test running on its
own thread with its probe file open under
/data? Some(why) while
it is. The drain waits for it like a transfer: MEASURED 2026-09-15
under KVM (bench R1), a growth started 13 s after the banner unmounted
straight into EBUSY — fd 18 → /data/.korp-disktest/probe and
aborted, because the test is gunnar’s own I/O and no gate pauses it.Auto Trait Implementations§
impl Freeze for NoEngine
impl RefUnwindSafe for NoEngine
impl Send for NoEngine
impl Sync for NoEngine
impl Unpin for NoEngine
impl UnsafeUnpin for NoEngine
impl UnwindSafe for NoEngine
Blanket Implementations§
impl<T> Allocation for T
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request