pub struct BorrowedSubstrate<'a> { /* private fields */ }Expand description
An Areev-backed substrate that borrows a facade (bindings path). Construct
one per areev-loop call over the host object’s existing &AreevFacade.
Implementations§
Source§impl<'a> BorrowedSubstrate<'a>
impl<'a> BorrowedSubstrate<'a>
pub fn new(facade: &'a AreevFacade) -> Self
Trait Implementations§
Source§impl OmsSubstrate for BorrowedSubstrate<'_>
impl OmsSubstrate for BorrowedSubstrate<'_>
Source§fn put_grain(&mut self, spec: &GrainSpec) -> WResult<String>
fn put_grain(&mut self, spec: &GrainSpec) -> WResult<String>
Append a new grain; returns its content address.
Source§fn supersede(
&mut self,
target_hash: &str,
spec: &GrainSpec,
_j: &str,
) -> WResult<String>
fn supersede( &mut self, target_hash: &str, spec: &GrainSpec, _j: &str, ) -> WResult<String>
Supersede
target_hash with a new grain carrying justification;
returns the new grain’s address. Atomic and distinct from put
(OMS §28.4).Source§fn retract(&mut self, hash: &str, _reason: &str) -> WResult<()>
fn retract(&mut self, hash: &str, _reason: &str) -> WResult<()>
Index-layer retraction (
verification_status = retracted) — the
inverse of an applied ADD, used by rollback. Not destructive (the grain
stays content-addressed; only the index marks it retracted). The
default reports it unsupported so substrates opt in.Source§fn execute_cal(&mut self, cal: &str) -> WResult<Vec<Value>>
fn execute_cal(&mut self, cal: &str) -> WResult<Vec<Value>>
Execute CAL text, returning result rows as JSON. Used to regenerate
evidence sets (
evidence_query) and to apply proposal_cal. A
substrate MAY reject CAL it cannot run with Error::CalUnsupported.Source§fn validate_cal(&self, cal: &str) -> WResult<()>
fn validate_cal(&self, cal: &str) -> WResult<()>
Validate a CAL batch without executing it (statement classification,
destructive-op detection). Delegated to the substrate — the engine
contains a CAL writer, never a parser.
Source§fn definition_inverse(&self, statement: &str) -> WResult<Option<String>>
fn definition_inverse(&self, statement: &str) -> WResult<Option<String>>
The CAL that would restore the CURRENT definition named by a
DEFINE QUERY / DEFINE TEMPLATE statement — the rollback inverse,
captured before the definition is replaced. Read moreSource§fn load_state(&self) -> WResult<Value>
fn load_state(&self) -> WResult<Value>
Load the persisted loop state blob (config + watermarks/cooldowns).
Returns
Value::Null when nothing has been stored yet.Source§fn store_state(&mut self, state: &Value) -> WResult<()>
fn store_state(&mut self, state: &Value) -> WResult<()>
Persist the loop state blob (a file-truth, so it travels with the
file on sync).
Source§fn put_blob(&mut self, bytes: &[u8]) -> WResult<String>
fn put_blob(&mut self, bytes: &[u8]) -> WResult<String>
Store an opaque blob (candidate tool CODE, evalset payloads) in the
substrate’s CAS, returning its address. §7.4’s blob seam —
CAPABILITY-GATED: the default refuses, so a loop can only carry code
on substrates that explicitly opt in. Code enters the substrate only
through this seam or an authored add — never from a git mirror.
Source§impl SubstrateRead for BorrowedSubstrate<'_>
impl SubstrateRead for BorrowedSubstrate<'_>
Source§fn capabilities(&self) -> Capabilities
fn capabilities(&self) -> Capabilities
Declared optional capabilities.
Source§fn grains_of_type(
&self,
grain_type: &str,
namespace: Option<&str>,
opts: ReadOpts,
) -> WResult<Vec<GrainRecord>>
fn grains_of_type( &self, grain_type: &str, namespace: Option<&str>, opts: ReadOpts, ) -> WResult<Vec<GrainRecord>>
Curated read: all grains of one OMS type, optionally namespace-scoped
and watermark/liveness filtered.
Source§fn grain(&self, hash: &str) -> WResult<Option<GrainRecord>>
fn grain(&self, hash: &str) -> WResult<Option<GrainRecord>>
Fetch one grain by content address.
Auto Trait Implementations§
impl<'a> Freeze for BorrowedSubstrate<'a>
impl<'a> RefUnwindSafe for BorrowedSubstrate<'a>
impl<'a> Send for BorrowedSubstrate<'a>
impl<'a> Sync for BorrowedSubstrate<'a>
impl<'a> Unpin for BorrowedSubstrate<'a>
impl<'a> UnsafeUnpin for BorrowedSubstrate<'a>
impl<'a> UnwindSafe for BorrowedSubstrate<'a>
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> Fruit for T
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> 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