Skip to main content

BorrowedSubstrate

Struct BorrowedSubstrate 

Source
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>

Source

pub fn new(facade: &'a AreevFacade) -> Self

Trait Implementations§

Source§

impl OmsSubstrate for BorrowedSubstrate<'_>

Source§

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>

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<()>

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>>

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<()>

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>>

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 more
Source§

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<()>

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>

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§

fn get_blob(&mut self, address: &str) -> WResult<Vec<u8>>

Fetch a blob by the address put_blob returned. Same capability gate.
Source§

impl SubstrateRead for BorrowedSubstrate<'_>

Source§

fn capabilities(&self) -> Capabilities

Declared optional capabilities.
Source§

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>>

Fetch one grain by content address.
Source§

fn heads(&self, namespace: Option<&str>) -> WResult<Vec<HeadGroup>>

Entities with more than one live head. Requires the forks capability; the default impl reports it missing so non-fork substrates degrade cleanly rather than pretend.
Source§

fn telemetry(&self, namespace: Option<&str>) -> WResult<Option<TelemetryView>>

A snapshot of the recall-telemetry rollups (§8). Requires the telemetry capability; the default returns None so substrates without a sidecar degrade cleanly. namespace scopes the snapshot when set.

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> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> Downcast for T
where T: Any,

Source§

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>

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)

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)

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
where T: Any + Send,

Source§

fn into_any_send(self: Box<T>) -> Box<dyn Any + Send>

Converts Box<Trait> (where Trait: DowncastSend) to Box<dyn Any + Send>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_sync(self: Box<T>) -> Box<dyn Any + Send + Sync>

Converts Box<Trait> (where Trait: DowncastSync) to Box<dyn Any + Send + Sync>, which can then be downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Send + Sync> ⓘ

Converts Arc<Trait> (where Trait: DowncastSync) to Arc<Any>, which can then be downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

impl<T> ErasedDestructor for T
where T: 'static,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Fruit for T
where T: Send + Downcast,

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self> ⓘ

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self> ⓘ

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘ
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more