Struct ockam_node::Context [−][src]
pub struct Context { /* fields omitted */ }
Expand description
Context contains Node state and references to the runtime.
Implementations
impl Context
[src]
impl Context
[src]pub fn aliases(&self) -> AddressSet
[src]
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]
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]
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]Start a new worker handle at Address
pub async fn stop_worker<A: Into<Address>>(&self, addr: A) -> Result<()>
[src]
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]
pub async fn send<R, M>(&self, route: R, msg: M) -> Result<()> where
R: Into<Route>,
M: Message + Send + 'static,
[src]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]
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]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]
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]
pub async fn receive<'ctx, M: Message>(
&'ctx mut self
) -> Result<Cancel<'ctx, M>>
[src]Block the current worker to wait for a typed message
This function may return a Err(FailedLoadData)
if the
underlying worker was shut down, or Err(Timeout)
if the call
was waiting for longer than the default timeout
. Use
receive_timeout
to adjust the
timeout period.
Will return None
if the corresponding worker has been
stopped, or the underlying Node has shut down.
pub async fn receive_timeout<'ctx, M: Message>(
&'ctx mut self,
timeout_secs: u64
) -> Result<Cancel<'ctx, M>>
[src]
pub async fn receive_timeout<'ctx, M: Message>(
&'ctx mut self,
timeout_secs: u64
) -> Result<Cancel<'ctx, M>>
[src]Block to wait for a typed message, with explicit timeout
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]
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]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. This operation
has a default timeout.
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]
pub async fn list_workers(&self) -> Result<Vec<Address>>
[src]Return a list of all available worker addresses on a node
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> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,