Ctx

Struct Ctx 

Source
pub struct Ctx<H>
where H: MinimalHandler,
{ /* private fields */ }
Expand description

Wasmtime Context for a component instance, with access to WASI context, HTTP context, and WRPC Invocation context. This is a low-level API and has to be paired with Component::new_with_linker.

Trait Implementations§

Source§

impl<H: MinimalHandler> Debug for Ctx<H>

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<H> Host for Ctx<H>
where H: Handler,

Source§

async fn create_container( &mut self, name: ContainerName, ) -> Result<Result<Resource<Container>, Error>>

creates a new empty container
Source§

async fn get_container( &mut self, name: ContainerName, ) -> Result<Result<Resource<Container>, Error>>

retrieves a container by name
Source§

async fn delete_container( &mut self, name: ContainerName, ) -> Result<Result<(), Error>>

deletes a container and all objects within it
Source§

async fn container_exists( &mut self, name: ContainerName, ) -> Result<Result<bool, Error>>

returns true if the container exists
Source§

async fn copy_object( &mut self, src: ObjectId, dest: ObjectId, ) -> Result<Result<(), Error>>

copies (duplicates) an object, to the same or a different container. returns an error if the target container does not exist. overwrites destination object if it already existed.
Source§

async fn move_object( &mut self, src: ObjectId, dest: ObjectId, ) -> Result<Result<(), Error>>

moves or renames an object, to the same or a different container returns an error if the destination container does not exist. overwrites destination object if it already existed.
Source§

impl<H> Host for Ctx<H>
where H: Handler,

Source§

async fn open( &mut self, name: String, ) -> Result<Result<Resource<Bucket>, Error>>

Get the bucket with the specified identifier. Read more
Source§

impl<H> Host for Ctx<H>
where H: Handler,

Source§

async fn get_many( &mut self, bucket: Resource<Bucket>, keys: Vec<String>, ) -> Result<Result<Vec<Option<(String, Vec<u8>)>>, Error>>

Get the key-value pairs associated with the keys in the store. It returns a list of key-value pairs. Read more
Source§

async fn set_many( &mut self, bucket: Resource<Bucket>, entries: Vec<(String, Vec<u8>)>, ) -> Result<Result<(), Error>>

Set the values associated with the keys in the store. If the key already exists in the store, it overwrites the value. Read more
Source§

async fn delete_many( &mut self, bucket: Resource<Bucket>, keys: Vec<String>, ) -> Result<Result<(), Error>>

Delete the key-value pairs associated with the keys in the store. Read more
Source§

impl<H: Handler> Host for Ctx<H>

Source§

async fn log( &mut self, level: Level, context: String, message: String, ) -> Result<()>

Emit a log message. Read more
Source§

impl<H: Handler> Host for Ctx<H>

Source§

async fn log( &mut self, level: Level, context: String, message: String, ) -> Result<()>

Emit a log message. Read more
Source§

impl<H> Host for Ctx<H>
where H: Handler,

Source§

async fn request( &mut self, subject: String, body: Vec<u8>, timeout_ms: u32, ) -> Result<Result<BrokerMessage, String>>

Perform a request operation on a subject
Source§

async fn publish(&mut self, msg: BrokerMessage) -> Result<Result<(), String>>

Publish a message to a subject without awaiting a response
Source§

impl<H> Host for Ctx<H>
where H: Handler,

Source§

async fn send( &mut self, client: Resource<Box<dyn Client + Send + Sync>>, topic: Topic, message: Resource<Message>, ) -> Result<Result<(), Error>>

Sends the message using the given client.
Source§

impl<H> Host for Ctx<H>
where H: Handler,

Source§

async fn request( &mut self, client: Resource<Box<dyn Client + Send + Sync>>, topic: Topic, message: Resource<Message>, options: Option<Resource<RequestOptions>>, ) -> Result<Result<Vec<Resource<Message>>, Error>>

Performs a blocking request/reply operation with an optional set of request options. Read more
Source§

async fn reply( &mut self, reply_to: Resource<Message>, message: Resource<Message>, ) -> Result<Result<(), Error>>

Replies to the given message with the given response message. The details of which topic the message is sent to is up to the implementation. This allows for reply-to details to be handled in the best way possible for the underlying messaging system. Read more
Source§

impl<H: Handler> Host for Ctx<H>

Source§

async fn get( &mut self, key: String, ) -> Result<Result<Resource<Secret>, SecretsError>>

Gets a single opaque secrets value set at the given key if it exists
Source§

impl<H: Handler> Host for Ctx<H>

Source§

async fn reveal(&mut self, secret: Resource<Secret>) -> Result<SecretValue>

Reveals the value of a secret to the caller. This lets you easily audit your code to discover where secrets are being used.
Source§

impl<H: Handler> Host for Ctx<H>

Set a link name to use for all interfaces specified. This is advanced functionality only available within wasmcloud and, as such, is exposed here as part of the wasmcloud:bus package. This is used when you are linking multiple of the same interfaces (i.e. a keyvalue implementation for caching and another one for secrets) to a component. Read more
Source§

impl<H: Handler> Host for Ctx<H>

Set a link name to use for all interfaces specified. This is advanced functionality only available within wasmcloud and, as such, is exposed here as part of the wasmcloud:bus package. This is used when you are linking multiple of the same interfaces (i.e. a keyvalue implementation for caching and another one for secrets) to a component.
Source§

impl<H: Handler> Host for Ctx<H>

Source§

async fn get(&mut self, key: String) -> Result<Result<Option<String>, Error>>

Gets a configuration value of type string associated with the key. Read more
Source§

async fn get_all(&mut self) -> Result<Result<Vec<(String, String)>, Error>>

Gets a list of configuration key-value pairs of type string. Read more
Source§

impl<H: Handler> Host for Ctx<H>

Source§

async fn get( &mut self, key: String, ) -> Result<Result<Option<String>, ConfigError>>

Gets a single opaque config value set at the given key if it exists
Source§

async fn get_all( &mut self, ) -> Result<Result<Vec<(String, String)>, ConfigError>>

Gets a list of all set config data
Source§

impl<H: Handler> Host for Ctx<H>

Source§

async fn get( &mut self, audience: String, ) -> Result<Result<Option<String>, Error>>

Gets a single JWT-SVID represented in the form of a (token) string. Read more
Source§

impl<H> Host for Ctx<H>
where H: Handler,

Source§

async fn increment( &mut self, bucket: Resource<Bucket>, key: String, delta: u64, ) -> Result<Result<u64, Error>>

Atomically increment the value associated with the key in the store by the given delta. It returns the new value. Read more
Source§

impl<H> HostBucket for Ctx<H>
where H: Handler,

Source§

async fn get( &mut self, bucket: Resource<Bucket>, key: String, ) -> Result<Result<Option<Vec<u8>>, Error>>

Get the value associated with the specified key Read more
Source§

async fn set( &mut self, bucket: Resource<Bucket>, key: String, outgoing_value: Vec<u8>, ) -> Result<Result<(), Error>>

Set the value associated with the key in the store. If the key already exists in the store, it overwrites the value. Read more
Source§

async fn delete( &mut self, bucket: Resource<Bucket>, key: String, ) -> Result<Result<(), Error>>

Delete the key-value pair associated with the key in the store. Read more
Source§

async fn exists( &mut self, bucket: Resource<Bucket>, key: String, ) -> Result<Result<bool, Error>>

Check if the key exists in the store. Read more
Source§

async fn list_keys( &mut self, bucket: Resource<Bucket>, cursor: Option<u64>, ) -> Result<Result<KeyResponse, Error>>

Get all the keys in the store with an optional cursor (for use in pagination). It returns a list of keys. Please note that for most KeyValue implementations, this is a can be a very expensive operation and so it should be used judiciously. Implementations can return any number of keys in a single response, but they should never attempt to send more data than is reasonable (i.e. on a small edge device, this may only be a few KB, while on a large machine this could be several MB). Any response should also return a cursor that can be used to fetch the next page of keys. See the key-response record for more information. Read more
Source§

async fn drop(&mut self, bucket: Resource<Bucket>) -> Result<()>

Source§

impl<H: Handler> HostCallTargetInterface for Ctx<H>

Source§

async fn new( &mut self, namespace: String, package: String, interface: String, ) -> Result<Resource<Arc<CallTargetInterface>>>

Source§

async fn drop( &mut self, interface: Resource<Arc<CallTargetInterface>>, ) -> Result<()>

Source§

impl<H: Handler> HostCallTargetInterface for Ctx<H>

Source§

async fn new( &mut self, namespace: String, package: String, interface: String, ) -> Result<Resource<Arc<CallTargetInterface>>>

Source§

async fn drop( &mut self, interface: Resource<Arc<CallTargetInterface>>, ) -> Result<()>

Source§

impl<H> HostClient for Ctx<H>
where H: Handler,

Source§

async fn connect( &mut self, name: String, ) -> Result<Result<Resource<Box<dyn Client + Send + Sync>>, Error>>

Source§

async fn disconnect( &mut self, client: Resource<Box<dyn Client + Send + Sync>>, ) -> Result<Result<(), Error>>

Source§

async fn drop( &mut self, client: Resource<Box<dyn Client + Send + Sync>>, ) -> Result<()>

Source§

impl<H> HostContainer for Ctx<H>
where H: Handler,

Source§

async fn drop(&mut self, container: Resource<Container>) -> Result<()>

Source§

async fn name( &mut self, container: Resource<Container>, ) -> Result<Result<String, Error>>

returns container name
Source§

async fn info( &mut self, container: Resource<Container>, ) -> Result<Result<ContainerMetadata, Error>>

returns container metadata
Source§

async fn get_data( &mut self, container: Resource<Container>, name: ObjectName, start: u64, end: u64, ) -> Result<Result<Resource<IncomingValue>, Error>>

retrieves an object or portion of an object, as a resource. Start and end offsets are inclusive. Once a data-blob resource has been created, the underlying bytes are held by the blobstore service for the lifetime of the data-blob resource, even if the object they came from is later deleted.
Source§

async fn write_data( &mut self, container: Resource<Container>, object: ObjectName, data: Resource<OutgoingValue>, ) -> Result<Result<(), Error>>

creates or replaces an object with the data blob.
Source§

async fn list_objects( &mut self, container: Resource<Container>, ) -> Result<Result<Resource<StreamObjectNames>, Error>>

returns list of objects in the container. Order is undefined.
Source§

async fn delete_object( &mut self, container: Resource<Container>, name: ObjectName, ) -> Result<Result<(), Error>>

deletes object. does not return error if object did not exist.
Source§

async fn delete_objects( &mut self, container: Resource<Container>, names: Vec<ObjectName>, ) -> Result<Result<(), Error>>

deletes multiple objects in the container
Source§

async fn has_object( &mut self, container: Resource<Container>, object: ObjectName, ) -> Result<Result<bool, Error>>

returns true if the object exists in this container
Source§

async fn object_info( &mut self, container: Resource<Container>, name: ObjectName, ) -> Result<Result<ObjectMetadata, Error>>

returns metadata for the object
Source§

async fn clear( &mut self, container: Resource<Container>, ) -> Result<Result<(), Error>>

removes all objects within the container, leaving the container empty.
Source§

impl<H: Handler> HostError for Ctx<H>

Source§

async fn from_rpc_error( &mut self, error: Resource<Error>, ) -> Result<Resource<Error>>

Converts wrpc:rpc/error.error into error.
Source§

async fn from_io_error( &mut self, error: Resource<Error>, ) -> Result<Result<Resource<Error>, Resource<Error>>>

Attempts to convert wasi:io/error.error into error. Read more
Source§

async fn to_debug_string(&mut self, error: Resource<Error>) -> Result<String>

Returns a string that is suitable to assist humans in debugging this error. Read more
Source§

async fn drop(&mut self, error: Resource<Error>) -> Result<()>

Source§

impl<H: Handler> HostIncomingValue for Ctx<H>

Source§

async fn drop(&mut self, incoming_value: Resource<IncomingValue>) -> Result<()>

Source§

async fn incoming_value_consume_sync( &mut self, incoming_value: Resource<IncomingValue>, ) -> Result<Result<Vec<u8>, Error>>

Source§

async fn incoming_value_consume_async( &mut self, incoming_value: Resource<IncomingValue>, ) -> Result<Result<Resource<DynInputStream>, Error>>

Source§

async fn size( &mut self, _incoming_value: Resource<IncomingValue>, ) -> Result<u64>

Source§

impl<H> HostMessage for Ctx<H>
where H: Handler,

Source§

async fn new(&mut self, data: Vec<u8>) -> Result<Resource<Message>>

Source§

async fn topic(&mut self, msg: Resource<Message>) -> Result<Option<Topic>>

The topic/subject/channel this message was received on, if any
Source§

async fn content_type( &mut self, msg: Resource<Message>, ) -> Result<Option<String>>

An optional content-type describing the format of the data in the message. This is sometimes described as the “format” type
Source§

async fn set_content_type( &mut self, msg: Resource<Message>, content_type: String, ) -> Result<()>

Set the content-type describing the format of the data in the message. This is sometimes described as the “format” type
Source§

async fn data(&mut self, msg: Resource<Message>) -> Result<Vec<u8>>

An opaque blob of data
Source§

async fn set_data(&mut self, msg: Resource<Message>, buf: Vec<u8>) -> Result<()>

Set the opaque blob of data for this message, discarding the old value
Source§

async fn metadata(&mut self, msg: Resource<Message>) -> Result<Option<Metadata>>

Optional metadata (also called headers or attributes in some systems) attached to the message. This metadata is simply decoration and should not be interpreted by a host to ensure portability across different implementors (e.g., Kafka -> NATS, etc.).
Source§

async fn add_metadata( &mut self, msg: Resource<Message>, key: String, value: String, ) -> Result<()>

Add a new key-value pair to the metadata, overwriting any existing value for the same key
Source§

async fn set_metadata( &mut self, msg: Resource<Message>, meta: Metadata, ) -> Result<()>

Set the metadata
Source§

async fn remove_metadata( &mut self, msg: Resource<Message>, key: String, ) -> Result<()>

Remove a key-value pair from the metadata
Source§

async fn drop(&mut self, rep: Resource<Message>) -> Result<()>

Source§

impl<H: Handler> HostOutgoingValue for Ctx<H>

Source§

async fn drop(&mut self, outgoing_value: Resource<OutgoingValue>) -> Result<()>

Source§

async fn new_outgoing_value(&mut self) -> Result<Resource<OutgoingValue>>

Source§

async fn outgoing_value_write_body( &mut self, outgoing_value: Resource<OutgoingValue>, ) -> Result<Result<Resource<DynOutputStream>, ()>>

Returns a stream for writing the value contents. Read more
Source§

async fn finish( &mut self, this: Resource<OutgoingValue>, ) -> Result<Result<(), Error>>

Finalize an outgoing value. This must be called to signal that the outgoing value is complete. If the outgoing-value is dropped without calling outgoing-value.finalize, the implementation should treat the value as corrupted.
Source§

impl<H> HostRequestOptions for Ctx<H>
where H: Handler,

Source§

async fn new(&mut self) -> Result<Resource<RequestOptions>>

Creates a new request options resource with no options set.
Source§

async fn set_timeout_ms( &mut self, opts: Resource<RequestOptions>, timeout_ms: u32, ) -> Result<()>

The maximum amount of time to wait for a response. If the timeout value is not set, then the request/reply operation will block until a message is received in response.
Source§

async fn set_expected_replies( &mut self, opts: Resource<RequestOptions>, expected_replies: u32, ) -> Result<()>

The maximum number of replies to expect before returning.
Source§

async fn drop(&mut self, opts: Resource<RequestOptions>) -> Result<()>

Source§

impl<H: Handler> HostSecret for Ctx<H>

Source§

async fn drop(&mut self, secret: Resource<Secret>) -> Result<()>

Source§

impl<H: Handler> HostStreamObjectNames for Ctx<H>

Source§

async fn drop(&mut self, names: Resource<StreamObjectNames>) -> Result<()>

Source§

async fn read_stream_object_names( &mut self, this: Resource<StreamObjectNames>, len: u64, ) -> Result<Result<(Vec<ObjectName>, bool), Error>>

reads the next number of objects from the stream Read more
Source§

async fn skip_stream_object_names( &mut self, this: Resource<StreamObjectNames>, num: u64, ) -> Result<Result<(u64, bool), Error>>

skip the next number of objects in the stream Read more
Source§

impl<H> WasiHttpView for Ctx<H>
where H: Handler,

Source§

fn ctx(&mut self) -> &mut WasiHttpCtx

Returns a mutable reference to the WASI HTTP context.
Source§

fn table(&mut self) -> &mut ResourceTable

Returns the table used to manage resources.
Source§

fn send_request( &mut self, request: Request<HyperOutgoingBody>, config: OutgoingRequestConfig, ) -> HttpResult<HostFutureIncomingResponse>
where Self: Sized,

Send an outgoing request.
Source§

fn new_incoming_request<B>( &mut self, scheme: Scheme, req: Request<B>, ) -> Result<Resource<HostIncomingRequest>, Error>
where B: Body<Data = Bytes, Error = Error> + Send + Sync + 'static, Self: Sized,

Create a new incoming request resource.
Source§

fn new_response_outparam( &mut self, result: Sender<Result<Response<BoxBody<Bytes, ErrorCode>>, ErrorCode>>, ) -> Result<Resource<HostResponseOutparam>, Error>

Create a new outgoing response resource.
Source§

fn is_forbidden_header(&mut self, name: &HeaderName) -> bool

Whether a given header should be considered forbidden and not allowed.
Source§

fn outgoing_body_buffer_chunks(&mut self) -> usize

Number of distinct write calls to the outgoing body’s output-stream that the implementation will buffer. Default: 1.
Source§

fn outgoing_body_chunk_size(&mut self) -> usize

Maximum size allowed in a write call to the outgoing body’s output-stream. Default: 1024 * 1024.
Source§

impl<H: MinimalHandler> WasiView for Ctx<H>

Source§

fn ctx(&mut self) -> WasiCtxView<'_>

Yields mutable access to the WasiCtx configuration used for this context.
Source§

impl<H: Handler> WrpcView for Ctx<H>

Source§

type Invoke = H

Source§

fn wrpc(&mut self) -> WrpcCtxView<'_, Self::Invoke>

Source§

impl<H: Handler> Host for Ctx<H>

Source§

impl<H> Host for Ctx<H>
where H: Handler,

Source§

impl<H> Host for Ctx<H>
where H: Handler,

Source§

impl<H> Host for Ctx<H>
where H: Handler,

Source§

impl<H: Handler> Host for Ctx<H>

Auto Trait Implementations§

§

impl<H> Freeze for Ctx<H>
where H: Freeze,

§

impl<H> !RefUnwindSafe for Ctx<H>

§

impl<H> Send for Ctx<H>

§

impl<H> !Sync for Ctx<H>

§

impl<H> Unpin for Ctx<H>
where H: Unpin,

§

impl<H> !UnwindSafe for Ctx<H>

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> FutureExt for T

Source§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
Source§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
Source§

impl<T> GetSetFdFlags for T

Source§

fn get_fd_flags(&self) -> Result<FdFlags, Error>
where T: AsFilelike,

Query the “status” flags for the self file descriptor.
Source§

fn new_set_fd_flags(&self, fd_flags: FdFlags) -> Result<SetFdFlags<T>, Error>
where T: AsFilelike,

Create a new SetFdFlags value for use with set_fd_flags. Read more
Source§

fn set_fd_flags(&mut self, set_fd_flags: SetFdFlags<T>) -> Result<(), Error>
where T: AsFilelike,

Set the “status” flags for the self file descriptor. Read more
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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
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> WasiCliView for T
where T: WasiView,

Source§

fn cli(&mut self) -> WasiCliCtxView<'_>

Source§

impl<T> WasiClocksView for T
where T: WasiView,

Source§

fn clocks(&mut self) -> WasiClocksCtxView<'_>

Source§

impl<T> WasiFilesystemView for T
where T: WasiView,

Source§

impl<T> WasiRandomView for T
where T: WasiView,

Source§

fn random(&mut self) -> &mut WasiRandomCtx

Source§

impl<T> WasiSocketsView for T
where T: WasiView,

Source§

fn sockets(&mut self) -> WasiSocketsCtxView<'_>

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

impl<T> WrpcViewExt for T
where T: WrpcView,

Source§

fn push_invocation( &mut self, invocation: impl Future<Output = Result<(<Self::Invoke as Invoke>::Outgoing, <Self::Invoke as Invoke>::Incoming), Error>> + Send + 'static, ) -> Result<Resource<Invocation>, Error>

Source§

fn get_invocation_result( &mut self, invocation: &Resource<Invocation>, ) -> Result<Option<&Box<Result<(<Self::Invoke as Invoke>::Outgoing, <Self::Invoke as Invoke>::Incoming), Error>>>, Error>

Source§

fn delete_invocation( &mut self, invocation: Resource<Invocation>, ) -> Result<impl Future<Output = Result<(<Self::Invoke as Invoke>::Outgoing, <Self::Invoke as Invoke>::Incoming), Error>>, Error>

Source§

fn push_outgoing_channel( &mut self, outgoing: <Self::Invoke as Invoke>::Outgoing, ) -> Result<Resource<OutgoingChannel>, Error>

Source§

fn delete_outgoing_channel( &mut self, outgoing: Resource<OutgoingChannel>, ) -> Result<<Self::Invoke as Invoke>::Outgoing, Error>

Source§

fn push_incoming_channel( &mut self, incoming: <Self::Invoke as Invoke>::Incoming, ) -> Result<Resource<IncomingChannel>, Error>

Source§

fn delete_incoming_channel( &mut self, incoming: Resource<IncomingChannel>, ) -> Result<<Self::Invoke as Invoke>::Incoming, Error>

Source§

fn push_error(&mut self, error: Error) -> Result<Resource<Error>, Error>

Source§

fn get_error(&mut self, error: &Resource<Error>) -> Result<&Error, Error>

Source§

fn get_error_mut( &mut self, error: &Resource<Error>, ) -> Result<&mut Error, Error>

Source§

fn delete_error(&mut self, error: Resource<Error>) -> Result<Error, Error>

Source§

fn push_context( &mut self, cx: <Self::Invoke as Invoke>::Context, ) -> Result<Resource<Context>, Error>
where <Self::Invoke as Invoke>::Context: 'static,

Source§

fn delete_context( &mut self, cx: Resource<Context>, ) -> Result<<Self::Invoke as Invoke>::Context, Error>
where <Self::Invoke as Invoke>::Context: 'static,