Struct thespis_impl::WeakAddr
source · pub struct WeakAddr<A: Actor> { /* private fields */ }
Expand description
This is an address with similar functionality as Addr
, but it does not keep the
mailbox alive.
When using send
or call
, a ThesErr::MailboxClosed
is returned
if no more strong addresses are around. The mailbox will still finish processing messages
already in the channel but WeakAddr
will not accept any new messages.
Implementations§
Trait Implementations§
source§impl<A, M> Address<M> for WeakAddr<A>where
A: Actor + Handler<M>,
M: Message,
impl<A, M> Address<M> for WeakAddr<A>where A: Actor + Handler<M>, M: Message,
source§fn call(&mut self, msg: M) -> Return<'_, ThesRes<<M as Message>::Return>>
fn call(&mut self, msg: M) -> Return<'_, ThesRes<<M as Message>::Return>>
Call an actor and receive the result of the call. This is a two-way operation. Calling with
a message type that has
Return=()
will notify you that the message has been handled by the
receiver. Read moresource§fn clone_box(&self) -> BoxAddress<M, ThesErr>
fn clone_box(&self) -> BoxAddress<M, ThesErr>
Get a clone of this address as a
Box<Address<M>>
.source§fn as_address(&self) -> &dyn Address<M, Error = Self::Error>where
Self: Sized,
fn as_address(&self) -> &dyn Address<M, Error = Self::Error>where Self: Sized,
Upcast
&self
to &dyn Address
.source§impl<A> Identify for WeakAddr<A>where
A: Actor,
impl<A> Identify for WeakAddr<A>where A: Actor,
source§impl<A: Actor> PartialEq<WeakAddr<A>> for WeakAddr<A>
impl<A: Actor> PartialEq<WeakAddr<A>> for WeakAddr<A>
Verify whether 2 Receivers will deliver to the same actor.
source§impl<A, M> Sink<M> for WeakAddr<A>where
A: Actor + Handler<M>,
M: Message,
impl<A, M> Sink<M> for WeakAddr<A>where A: Actor + Handler<M>, M: Message,
source§fn poll_close(
self: Pin<&mut Self>,
cx: &mut TaskContext<'_>
) -> Poll<Result<(), Self::Error>>
fn poll_close( self: Pin<&mut Self>, cx: &mut TaskContext<'_> ) -> Poll<Result<(), Self::Error>>
This is a no-op. The address can only really close when dropped. Close has no meaning before that.
source§fn poll_ready(
self: Pin<&mut Self>,
cx: &mut TaskContext<'_>
) -> Poll<Result<(), Self::Error>>
fn poll_ready( self: Pin<&mut Self>, cx: &mut TaskContext<'_> ) -> Poll<Result<(), Self::Error>>
Attempts to prepare the
Sink
to receive a value. Read moresource§fn start_send(self: Pin<&mut Self>, msg: M) -> Result<(), Self::Error>
fn start_send(self: Pin<&mut Self>, msg: M) -> Result<(), Self::Error>
Begin the process of sending a value to the sink.
Each call to this function must be preceded by a successful call to
poll_ready
which returned Poll::Ready(Ok(()))
. Read moresource§fn poll_flush(
self: Pin<&mut Self>,
cx: &mut TaskContext<'_>
) -> Poll<Result<(), Self::Error>>
fn poll_flush( self: Pin<&mut Self>, cx: &mut TaskContext<'_> ) -> Poll<Result<(), Self::Error>>
Flush any remaining output from this sink. Read more
impl<A: Actor> Eq for WeakAddr<A>
Auto Trait Implementations§
impl<A> !RefUnwindSafe for WeakAddr<A>
impl<A> Send for WeakAddr<A>
impl<A> !Sync for WeakAddr<A>
impl<A> Unpin for WeakAddr<A>
impl<A> !UnwindSafe for WeakAddr<A>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<'a, T, Item, E> CloneSink<'a, Item, E> for Twhere
T: 'a + Sink<Item, Error = E> + Clone + Unpin + Send + ?Sized,
impl<'a, T, Item, E> CloneSink<'a, Item, E> for Twhere T: 'a + Sink<Item, Error = E> + Clone + Unpin + Send + ?Sized,
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T, Item> SinkExt<Item> for Twhere
T: Sink<Item> + ?Sized,
impl<T, Item> SinkExt<Item> for Twhere T: Sink<Item> + ?Sized,
§fn with<U, Fut, F, E>(self, f: F) -> With<Self, Item, U, Fut, F>where
F: FnMut(U) -> Fut,
Fut: Future<Output = Result<Item, E>>,
E: From<Self::Error>,
Self: Sized,
fn with<U, Fut, F, E>(self, f: F) -> With<Self, Item, U, Fut, F>where F: FnMut(U) -> Fut, Fut: Future<Output = Result<Item, E>>, E: From<Self::Error>, Self: Sized,
Composes a function in front of the sink. Read more
§fn with_flat_map<U, St, F>(self, f: F) -> WithFlatMap<Self, Item, U, St, F>where
F: FnMut(U) -> St,
St: Stream<Item = Result<Item, Self::Error>>,
Self: Sized,
fn with_flat_map<U, St, F>(self, f: F) -> WithFlatMap<Self, Item, U, St, F>where F: FnMut(U) -> St, St: Stream<Item = Result<Item, Self::Error>>, Self: Sized,
Composes a function in front of the sink. Read more
§fn sink_map_err<E, F>(self, f: F) -> SinkMapErr<Self, F>where
F: FnOnce(Self::Error) -> E,
Self: Sized,
fn sink_map_err<E, F>(self, f: F) -> SinkMapErr<Self, F>where F: FnOnce(Self::Error) -> E, Self: Sized,
Transforms the error returned by the sink.
§fn sink_err_into<E>(self) -> SinkErrInto<Self, Item, E>where
Self: Sized,
Self::Error: Into<E>,
fn sink_err_into<E>(self) -> SinkErrInto<Self, Item, E>where Self: Sized, Self::Error: Into<E>,
Map this sink’s error to a different error type using the
Into
trait. Read more§fn buffer(self, capacity: usize) -> Buffer<Self, Item>where
Self: Sized,
fn buffer(self, capacity: usize) -> Buffer<Self, Item>where Self: Sized,
Adds a fixed-size buffer to the current sink. Read more
§fn fanout<Si>(self, other: Si) -> Fanout<Self, Si>where
Self: Sized,
Item: Clone,
Si: Sink<Item, Error = Self::Error>,
fn fanout<Si>(self, other: Si) -> Fanout<Self, Si>where Self: Sized, Item: Clone, Si: Sink<Item, Error = Self::Error>,
Fanout items to multiple sinks. Read more
§fn flush(&mut self) -> Flush<'_, Self, Item>where
Self: Unpin,
fn flush(&mut self) -> Flush<'_, Self, Item>where Self: Unpin,
Flush the sink, processing all pending items. Read more
§fn send(&mut self, item: Item) -> Send<'_, Self, Item>where
Self: Unpin,
fn send(&mut self, item: Item) -> Send<'_, Self, Item>where Self: Unpin,
A future that completes after the given item has been fully processed
into the sink, including flushing. Read more
§fn feed(&mut self, item: Item) -> Feed<'_, Self, Item>where
Self: Unpin,
fn feed(&mut self, item: Item) -> Feed<'_, Self, Item>where Self: Unpin,
A future that completes after the given item has been received
by the sink. Read more
§fn send_all<St, 'a>(&'a mut self, stream: &'a mut St) -> SendAll<'a, Self, St>where
St: TryStream<Ok = Item, Error = Self::Error> + Stream + Unpin + ?Sized,
Self: Unpin,
fn send_all<St, 'a>(&'a mut self, stream: &'a mut St) -> SendAll<'a, Self, St>where St: TryStream<Ok = Item, Error = Self::Error> + Stream + Unpin + ?Sized, Self: Unpin,
A future that completes after the given stream has been fully processed
into the sink, including flushing. Read more
§fn left_sink<Si2>(self) -> Either<Self, Si2>where
Si2: Sink<Item, Error = Self::Error>,
Self: Sized,
fn left_sink<Si2>(self) -> Either<Self, Si2>where Si2: Sink<Item, Error = Self::Error>, Self: Sized,
§fn right_sink<Si1>(self) -> Either<Si1, Self>where
Si1: Sink<Item, Error = Self::Error>,
Self: Sized,
fn right_sink<Si1>(self) -> Either<Si1, Self>where Si1: Sink<Item, Error = Self::Error>, Self: Sized,
§fn compat(self) -> CompatSink<Self, Item>where
Self: Sized + Unpin,
fn compat(self) -> CompatSink<Self, Item>where Self: Sized + Unpin,
Wraps a [
Sink
] into a sink compatible with libraries using
futures 0.1 Sink
. Requires the compat
feature to be enabled.§fn poll_ready_unpin(
&mut self,
cx: &mut Context<'_>
) -> Poll<Result<(), Self::Error>>where
Self: Unpin,
fn poll_ready_unpin( &mut self, cx: &mut Context<'_> ) -> Poll<Result<(), Self::Error>>where Self: Unpin,
A convenience method for calling [
Sink::poll_ready
] on Unpin
sink types.§fn start_send_unpin(&mut self, item: Item) -> Result<(), Self::Error>where
Self: Unpin,
fn start_send_unpin(&mut self, item: Item) -> Result<(), Self::Error>where Self: Unpin,
A convenience method for calling [
Sink::start_send
] on Unpin
sink types.