Skip to main content

SkillRegistry

Struct SkillRegistry 

Source
pub struct SkillRegistry { /* private fields */ }
Expand description

Live registry of skill transports and bound cards.

The registry owns the installed SkillTransports and the SkillCards bound to them, and (with the cache/cassette features) the audit log of skill calls. It is a cheaply clonable handle over shared state, so clones observe the same registry. It is a live handle rather than a serializable value; cards are projected through the skill/Card descriptor.

Implementations§

Source§

impl SkillRegistry

Source

pub fn install_transport( &self, transport: Arc<dyn SkillTransport>, ) -> Result<()>

Installs transport, keyed by its id, replacing any prior transport with the same id.

Source

pub fn bind_card(&self, cx: &mut Cx, card: SkillCard) -> Result<Value>

Binds card to its installed transport and registers it as a callable.

Resolves the card’s transport, builds a SkillCallable, registers it under the card’s symbol, publishes its browse claims, and stores the card. Errors if the card’s transport is not installed. Returns the registered callable value.

Source

pub fn cards(&self) -> Result<Vec<SkillCard>>

Returns all bound cards.

Source

pub fn card_by_id(&self, id: &str) -> Result<Option<SkillCard>>

Looks up a bound card by its id.

Source

pub fn card_by_symbol(&self, symbol: &Symbol) -> Result<Option<SkillCard>>

Looks up a bound card by its registered symbol.

Trait Implementations§

Source§

impl Clone for SkillRegistry

Source§

fn clone(&self) -> SkillRegistry

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Default for SkillRegistry

Source§

fn default() -> SkillRegistry

Returns the “default value” for a type. Read more
Source§

impl Object for SkillRegistry

Source§

fn display(&self, _cx: &mut Cx) -> Result<String>

Render the object as a human-readable display string.
Source§

fn as_any(&self) -> &dyn Any

Expose the object for Rust downcasting.
Source§

fn header(&self) -> &ObjectHeader

Identity and trust header for the object; defaults to the shared anonymous header.
Source§

fn op(&self, _key: &OpKey) -> Option<&dyn Op>

Resolve the operation registered under key, if any.
Source§

fn claims( &self, _cx: &mut Cx, _pattern: &ClaimPattern, _sink: &mut dyn ClaimSink, ) -> Result<(), Error>

Emit the object’s claims matching pattern into sink.
Source§

fn snapshot(&self, _cx: &mut Cx) -> Result<Option<Datum>, Error>

Optional content-addressable snapshot of the object’s state.
Source§

impl ObjectCompat for SkillRegistry

Source§

fn as_table(&self, cx: &mut Cx) -> Result<Value>

Project the object into a table value; the default exposes its display.
Source§

fn class(&self, cx: &mut Cx) -> Result<Value, Error>

Class object this value belongs to; defaults to nil.
Source§

fn as_callable(&self) -> Option<&dyn Callable>

Callable view, if the object can be invoked.
Source§

fn as_class(&self) -> Option<&dyn Class>

Class view, if the object is a class.
Source§

fn as_shape(&self) -> Option<&dyn Shape>

Shape view, if the object is a shape.
Source§

fn as_object_encoder(&self) -> Option<&dyn ObjectEncode>

Object-encoder view, if the object encodes other objects.
Source§

fn as_read_constructor(&self) -> Option<&dyn ReadConstructor>

Read-constructor view, if the object decodes data forms.
Source§

fn as_number_domain(&self) -> Option<&(dyn NumberDomain + 'static)>

Number-domain view, if the object is a number domain.
Source§

fn as_number_value(&self) -> Option<&dyn NumberValue>

Number-value view, if the object is a domain number.
Source§

fn as_eval_fabric(&self) -> Option<&dyn EvalFabric>

Eval-fabric view, if the object is a distributed eval surface.
Source§

fn as_stream(&self) -> Option<&dyn Stream>

Stream view, if the object is a stream.
Source§

fn as_sequence(&self) -> Option<&dyn Sequence>

Sequence view, if the object is a sequence.
Source§

fn as_thunk(&self) -> Option<&dyn Thunk>

Thunk view, if the object is a deferred computation.
Source§

fn as_list(&self) -> Option<&(dyn ListValue + 'static)>

List view, if the object is a list value.
Source§

fn as_table_impl(&self) -> Option<&(dyn Table + 'static)>

Table-implementation view, if the object is a table.
Source§

fn as_dir(&self) -> Option<&(dyn Dir + 'static)>

Directory view, if the object is a directory.
Source§

fn as_expr(&self, cx: &mut Cx) -> Result<Expr, Error>

Expression form of the object; defaults to an opaque extension node.
Source§

fn truth(&self, _cx: &mut Cx) -> Result<bool, Error>

Truthiness of the object; defaults to true.
Source§

fn publish_shape_satisfaction_claims( &self, _cx: &mut Cx, _shape: &Ref, ) -> Result<bool, Error>

Publish claims asserting that the object satisfies shape; returns whether any were published.

Auto Trait Implementations§

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<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> RuntimeObject for T
where T: Object + ObjectCompat + Any + Send + Sync,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
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.