Struct ockam::Context [−][src]
Implementations
impl Context[src]
pub fn address(&self) -> Address[src]
Return the current context address
During initialisation and shutdown this will return the primary worker address. During message handling it will return the address the message was addressed to.
pub async fn start_worker<NM, NW, S>(
&'_ self,
address: S,
worker: NW
) -> Result<(), Error> where
S: Into<AddressSet>,
NM: Message + Send + 'static,
NW: Worker<Context = Context, Message = NM>, [src]
&'_ self,
address: S,
worker: NW
) -> Result<(), Error> where
S: Into<AddressSet>,
NM: Message + Send + 'static,
NW: Worker<Context = Context, Message = NM>,
Start a new worker handle at Address
pub async fn stop(&'_ self) -> Result<(), Error>[src]
Signal to the local application runner to shut down
pub async fn stop_worker<A>(&'_ self, addr: A) -> Result<(), Error> where
A: Into<Address>, [src]
A: Into<Address>,
Shut down a worker by its primary address
pub async fn send_message<R, M>(&'_ self, route: R, msg: M) -> Result<(), Error> where
R: Into<Route>,
M: Message + Send + 'static, [src]
R: Into<Route>,
M: Message + Send + 'static,
Send a message via a fully qualified route
Routes can be constructed from a set of Addresses, or via
the RouteBuilder type. Routes can contain middleware
router addresses, which will re-address messages that need to
be handled by specific domain workers.
pub async fn forward_message(
&'_ self,
data: TransportMessage
) -> Result<(), Error>[src]
&'_ self,
data: TransportMessage
) -> Result<(), Error>
Forward a transport message to its next routing destination
Similar to Context::send_message, but taking a
TransportMessage, which contains the full destination
route, and calculated return route for this hop.
Note: you most likely want to use
Context::send_message instead, unless you are writing an
external router implementation for ockam node.
pub async fn receive<M>(&'ctx mut self) -> Result<Cancel<'ctx, M>, Error> where
M: Message, [src]
M: Message,
Block the current worker to wait for a typed message
Will return None if the corresponding worker has been
stopped, or the underlying Node has shut down.
pub async fn receive_match<M, F>(
&'ctx mut self,
check: F
) -> Result<Cancel<'ctx, M>, Error> where
F: Fn(&M) -> bool,
M: Message, [src]
&'ctx mut self,
check: F
) -> Result<Cancel<'ctx, M>, Error> where
F: Fn(&M) -> bool,
M: Message,
Block the current worker to wait for a message satisfying a conditional
Will return Err if the corresponding worker has been
stopped, or the underlying node has shut down.
Internally this function calls receive and .cancel() in a
loop until a matching message is found.
pub async fn list_workers(&'_ self) -> Result<Vec<Address, Global>, Error>[src]
Return a list of all available worker addresses on a node
pub async fn register<A>(&'_ self, type_: u8, addr: A) -> Result<(), Error> where
A: Into<Address>, [src]
A: Into<Address>,
Register a router for a specific address type
Auto Trait Implementations
impl !RefUnwindSafe for Context
impl Send for Context
impl Sync for Context
impl Unpin for Context
impl !UnwindSafe for Context
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T[src]
impl<T> From<T> for T[src]
impl<T> Instrument for T[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>[src]
pub fn in_current_span(self) -> Instrumented<Self>[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,