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§

source§

impl<A> WeakAddr<A>where A: Actor,

source

pub fn strong(&self) -> Result<Addr<A>, ThesErr>

Create a strong address. This requires that there are still other strong addresses around at the time of this call, otherwise this will return ThesErr::MailboxClosed.

source

pub fn info(&self) -> Arc<ActorInfo>

Information about the actor: id, name, typename and a span for tracing.

Trait Implementations§

source§

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

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 more
source§

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,

Upcast &self to &dyn Address.
source§

impl<A: Actor> Clone for WeakAddr<A>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<A: Actor> Debug for WeakAddr<A>

source§

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

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

impl<A: Actor> Display for WeakAddr<A>

source§

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

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

impl<A: Actor> Drop for WeakAddr<A>

source§

fn drop(&mut self)

Executes the destructor for this type. Read more
source§

impl<A> Identify for WeakAddr<A>where A: Actor,

source§

fn id(&self) -> usize

Get the id of the mailbox this address sends to. There will be exactly one for each actor, so you can use this for uniquely identifying your actors.

This is an atomic usize that is incremented for every new mailbox. There currently is no overflow protection.

source§

fn name(&self) -> Arc<str>

A human readable name of the actor.
source§

impl<A: Actor> PartialEq<WeakAddr<A>> for WeakAddr<A>

Verify whether 2 Receivers will deliver to the same actor.

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

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

This is a no-op. The address can only really close when dropped. Close has no meaning before that.

§

type Error = ThesErr

The type of value produced by the sink when an error occurs.
source§

fn poll_ready( self: Pin<&mut Self>, cx: &mut TaskContext<'_> ) -> Poll<Result<(), Self::Error>>

Attempts to prepare the Sink to receive a value. Read more
source§

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 more
source§

fn poll_flush( self: Pin<&mut Self>, cx: &mut TaskContext<'_> ) -> Poll<Result<(), Self::Error>>

Flush any remaining output from this sink. Read more
source§

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> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

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,

source§

fn clone_sink(&self) -> Box<dyn CloneSink<'a, Item, E, Error = E>, Global>

Clone this sink.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

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> 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 Twhere 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.

§

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,

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,

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,

Transforms the error returned by the sink.
§

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,

Adds a fixed-size buffer to the current sink. Read more
§

fn close(&mut self) -> Close<'_, Self, Item>where Self: Unpin,

Close the sink.
§

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,

Flush the sink, processing all pending items. Read more
§

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,

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,

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,

Wrap this sink in an Either sink, making it the left-hand variant of that Either. Read more
§

fn right_sink<Si1>(self) -> Either<Si1, Self>where Si1: Sink<Item, Error = Self::Error>, Self: Sized,

Wrap this stream in an Either stream, making it the right-hand variant of that Either. Read more
§

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,

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,

A convenience method for calling [Sink::start_send] on Unpin sink types.
§

fn poll_flush_unpin( &mut self, cx: &mut Context<'_> ) -> Poll<Result<(), Self::Error>>where Self: Unpin,

A convenience method for calling [Sink::poll_flush] on Unpin sink types.
§

fn poll_close_unpin( &mut self, cx: &mut Context<'_> ) -> Poll<Result<(), Self::Error>>where Self: Unpin,

A convenience method for calling [Sink::poll_close] on Unpin sink types.
source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

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 Twhere U: TryFrom<T>,

§

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