Skip to main content

WasmRpc

Struct WasmRpc 

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

An RPC client for invoking remote agents

Implementations§

Source§

impl WasmRpc

Source

pub fn new( agent_type_name: &str, constructor: SchemaValueTree, phantom_id: Option<Uuid>, agent_config: Vec<TypedAgentConfigValue>, ) -> Self

Creates an RPC client connecting to the given target agent.

constructor is a value tree whose root encodes the target agent constructor’s parameter list. This fail-fast form traps if the client cannot be created and is intended for statically generated clients.

Source§

impl WasmRpc

Source

pub fn create( agent_type_name: &str, constructor: SchemaValueTree, phantom_id: Option<Uuid>, agent_config: Vec<TypedAgentConfigValue>, ) -> Result<WasmRpc, RpcError>

Creates an RPC client connecting to the given target agent.

constructor is a value tree whose root encodes the target agent constructor’s parameter list. This fallible form returns an RPC error if the client cannot be created and is intended for reflective and other dynamic clients.

Source§

impl WasmRpc

Source

pub fn invoke_and_await( &self, method_name: &str, input: SchemaValueTree, scope_card: Option<&PermissionCard>, ) -> Result<InvocationResultWithMetadata, RpcError>

Invokes a remote method with the given parameters, and awaits the result.

input encodes the method’s parameter list. The returned result is none for a unit output and some(value) for a single output.

Source§

impl WasmRpc

Source

pub fn invoke( &self, method_name: &str, input: SchemaValueTree, scope_card: Option<&PermissionCard>, ) -> Result<InvocationMetadata, RpcError>

Triggers the invocation of a remote method with the given parameters, and returns its final identity immediately. Scope lending is not supported: scope-card must be none.

Source§

impl WasmRpc

Source

pub fn async_invoke_and_await( &self, method_name: &str, input: SchemaValueTree, scope_card: Option<&PermissionCard>, ) -> AsyncInvocationWithMetadata

Invokes a remote method with the given parameters, and returns a future-invoke-result value which can be polled for the result together with the final invocation identity.

With this function it is possible to call multiple (different) agents simultaneously.

Source§

impl WasmRpc

Source

pub fn schedule_invocation( &self, scheduled_time: Datetime, method_name: &str, input: SchemaValueTree, scope_card: Option<&PermissionCard>, ) -> Result<ScheduledInvocationReceipt, RpcError>

Schedules an invocation for later and returns its final identity. Scope lending is not supported: scope-card must be none.

Source§

impl WasmRpc

Source

pub fn schedule_cancelable_invocation( &self, scheduled_time: Datetime, method_name: &str, input: SchemaValueTree, scope_card: Option<&PermissionCard>, ) -> Result<CancelableScheduledInvocationReceipt, RpcError>

Schedules an invocation for later and returns its final identity and cancellation capability. Call cancel on the returned resource to cancel the invocation before the scheduled time. Scope lending is not supported: scope-card must be none.

Trait Implementations§

Source§

impl Debug for WasmRpc

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

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> 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> 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> Resource for T
where T: 'static,

Source§

type Rep = Option<T>

The type which is actually stored in-memory for this resource. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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<T> TupleOrUnit<()> for T

Source§

fn into(self)