Skip to main content

HolgerBox

Trait HolgerBox 

Source
pub trait HolgerBox {
Show 22 methods // Required method fn serving(&self) -> bool; // Provided methods fn health(&self) -> BTreeMap<String, String> { ... } fn product_report(&self) -> Option<String> { ... } fn own_review(&self) -> Option<String> { ... } fn entitle(&self, fact: &EntitlementFact) -> Result<Applied, String> { ... } fn purge(&self, p: &PurgeTenant) -> Result<PurgeAnswer, String> { ... } fn sign_in_again(&self, s: &SignInAgain) -> Result<String, String> { ... } fn keep_refeed(&self, r: &Refeed) -> Result<String, String> { ... } fn keep_setting(&self, name: &str, value: &[u8]) -> Result<String, String> { ... } fn add_principal(&self, a: &AddPrincipal) -> Result<String, String> { ... } fn want_room(&self, g: &GrowRoom) -> Result<String, String> { ... } fn grow_carried(&self, data_gib: u64) -> Result<bool, String> { ... } fn twin_holds(&self, data_gib: u64) -> Result<String, String> { ... } fn grow_start( &self, data_gib: u64, nonce: &str, ) -> Result<GrowState, String> { ... } fn grow_settle(&self, past_waiting: bool) -> GrowState { ... } fn grow_look_again(&self, give_up: bool) -> Result<(), String> { ... } fn recharge(&self, r: &RechargeAsk) -> Result<String, String> { ... } fn fence(&self, primary: &str, epoch: u64) -> Result<String, String> { ... } fn adopt(&self, twin: &str, principal: &str) -> Result<String, String> { ... } fn product_order( &self, by: &OrderedBy, kind: &str, params: &BTreeMap<String, String>, file: Option<&[u8]>, ) -> Result<String, String> { ... } fn become_twin(&self, primary: &str) -> Result<String, String> { ... } fn review(&self) -> Result<Value, String> { ... }
}
Expand description

Holger’s verbs, as an order reaches them. Sync: the executor runs on a jera job’s blocking thread.

Required Methods§

Source

fn serving(&self) -> bool

This box serves as the primary (not a twin, not awaiting its recharge).

Provided Methods§

Source

fn health(&self) -> BTreeMap<String, String>

The box’s health words for Fleet.Report (serving, data, serves_at, twin, epoch).

Source

fn product_report(&self) -> Option<String>

monetize_product::pull::ProductReport as JSON — the main that serves sends it.

Source

fn own_review(&self) -> Option<String>

A twin reviews itself on every report (G12): its review as JSON.

Source

fn entitle(&self, fact: &EntitlementFact) -> Result<Applied, String>

Store one VERIFIED fact, newer wins.

Source

fn purge(&self, p: &PurgeTenant) -> Result<PurgeAnswer, String>

Purge one repository (or answer its purge’s state).

Source

fn sign_in_again(&self, s: &SignInAgain) -> Result<String, String>

A sold estate’s resend sign-in link (Gunnar’s S10): mint a fresh first-login invite for the order’s account and mail it to the order’s address. Default: this box mints none.

Source

fn keep_refeed(&self, r: &Refeed) -> Result<String, String>

Keep the estate keys fed again (monetize MAIL-RELAY + NIGHT-PUBREPO 2026-10-28): kept beside the feed the box was laid with, which they go over. Default: this box keeps none.

Source

fn keep_setting(&self, name: &str, value: &[u8]) -> Result<String, String>

Keep one generic setting (HOL-PUBSITE-FEED: a refeed’s public-site switch, kept as crate::order::PUBLIC_SITE_SETTING): stored as an administrator’s write to /-/settings/<name> is, audited, answering what it replaced. Default: this box keeps none.

Source

fn add_principal(&self, a: &AddPrincipal) -> Result<String, String>

A paid signup’s repository (a.username), bound to a.signup (idempotent); answers the namespace made. A name bound to another signup is refused starting taken.

Source

fn want_room(&self, g: &GrowRoom) -> Result<String, String>

Keep the room wanted past the set and tell the operator.

Source

fn grow_carried(&self, data_gib: u64) -> Result<bool, String>

Do the box’s data disks already carry data_gib a disk?

Source

fn twin_holds(&self, data_gib: u64) -> Result<String, String>

The twin first (a main only): Ok once the twin holds main’s whole set.

Source

fn grow_start(&self, data_gib: u64, nonce: &str) -> Result<GrowState, String>

Start the growth to data_gib a disk under a one-time nonce (the step was verified).

Source

fn grow_settle(&self, past_waiting: bool) -> GrowState

Wait for the grow machine to stop moving (past waiting-members when told).

Source

fn grow_look_again(&self, give_up: bool) -> Result<(), String>

Look at the members again (give_up: mount back what is there).

Source

fn recharge(&self, r: &RechargeAsk) -> Result<String, String>

Fill r.main from r.twin (holger’s recharge lane).

Source

fn fence(&self, primary: &str, epoch: u64) -> Result<String, String>

Fence the old primary at primary (this box itself when it names it): it refuses every write from now on. Refused by name by default.

Source

fn adopt(&self, twin: &str, principal: &str) -> Result<String, String>

Certify the twin at twin for this primary.

Source

fn product_order( &self, by: &OrderedBy, kind: &str, params: &BTreeMap<String, String>, file: Option<&[u8]>, ) -> Result<String, String>

Take the twin role: follow primary (a FRESH box only, exactly once). One of Holger’s own order kinds (crate::order::holger_kind::PRODUCT, queued by the operator on his site and pulled): its params as the operator typed them, its file pulled. by is the VERIFIED order it came in (its sequence and the monetize key it verified under): what the box’s own audit names the write by. The answer is the ack’s detail.

Source

fn become_twin(&self, primary: &str) -> Result<String, String>

Source

fn review(&self) -> Result<Value, String>

Review the twin (on a twin: itself), as JSON.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§