Struct ockam_node::Context [−][src]
Implementations
impl Context
[src]
impl Context
[src]
pub fn address(&self) -> Address
[src]
Return the primary worker address
pub fn aliases(&self) -> AddressSet
[src]
Return all addresses of this worker
pub async fn new_context<S: Into<Address>>(&self, addr: S) -> Result<Context>
[src]
Create a new context without spawning a full worker
pub async fn start_worker<NM, NW, S>(
&self,
address: S,
worker: NW
) -> Result<()> where
S: Into<AddressSet>,
NM: Message + Send + 'static,
NW: Worker<Context = Context, Message = NM>,
[src]
&self,
address: S,
worker: NW
) -> Result<()> 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(&mut self) -> Result<()>
[src]
Signal to the local application runner to shut down
pub async fn stop_worker<A: Into<Address>>(&self, addr: A) -> Result<()>
[src]
Shut down a worker by its primary address
pub async fn send<R, M>(&self, route: R, msg: M) -> Result<()> 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 Address
es, 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 send_from_address<R, M>(
&self,
route: R,
msg: M,
sending_address: Address
) -> Result<()> where
R: Into<Route>,
M: Message + Send + 'static,
[src]
&self,
route: R,
msg: M,
sending_address: Address
) -> Result<()> where
R: Into<Route>,
M: Message + Send + 'static,
Send a message via a fully qualified route using specific Worker address
Routes can be constructed from a set of Address
es, 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(&self, data: TransportMessage) -> Result<()>
[src]
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<'ctx, M: Message>(
&'ctx mut self
) -> Result<Cancel<'ctx, M>>
[src]
&'ctx mut self
) -> Result<Cancel<'ctx, M>>
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<'ctx, M, F>(
&'ctx mut self,
check: F
) -> Result<Cancel<'ctx, M>> where
M: Message,
F: Fn(&M) -> bool,
[src]
&'ctx mut self,
check: F
) -> Result<Cancel<'ctx, M>> where
M: Message,
F: Fn(&M) -> bool,
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>>
[src]
Return a list of all available worker addresses on a node
pub async fn register<A: Into<Address>>(&self, type_: u8, addr: A) -> Result<()>
[src]
Register a router for a specific address type
Trait Implementations
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, 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>,