[][src]Struct websocket::async::futures::executor::NotifyHandle

pub struct NotifyHandle { /* fields omitted */ }

A NotifyHandle is the core value through which notifications are routed in the futures crate.

All instances of Task will contain a NotifyHandle handle internally. This handle itself contains a trait object pointing to an instance of the Notify trait, allowing notifications to get routed through it.

The NotifyHandle type internally does not codify any particular memory management strategy. Internally it contains an instance of *mut UnsafeNotify, and more details about that trait can be found on its own documentation. Consequently, though, the one constructor of this type, NotifyHandle::new, is unsafe to call. It is not recommended to call this constructor directly.

If you're working with the standard library then it's recommended to work with the Arc type. If you have a struct, T, which implements the Notify trait, then you can construct this with NotifyHandle::from(t: Arc<T>). The coercion to UnsafeNotify will happen automatically and safely for you.

When working externally from the standard library it's recommended to provide a similar safe constructor for your custom type as opposed to recommending an invocation of NotifyHandle::new directly.

Methods

impl NotifyHandle
[src]

Constructs a new NotifyHandle directly.

Note that most code will not need to call this. Implementers of the UnsafeNotify trait will typically provide a wrapper that calls this but you otherwise shouldn't call it directly.

If you're working with the standard library then it's recommended to use the NotifyHandle::from function instead which works with the safe Arc type and the safe Notify trait.

Invokes the underlying instance of Notify with the provided id.

Trait Implementations

impl<T> From<&'static T> for NotifyHandle where
    T: Notify
[src]

Performs the conversion.

impl<T> From<Arc<T>> for NotifyHandle where
    T: Notify + 'static, 
[src]

Performs the conversion.

impl<'a, T> From<NodeToHandle<'a, T>> for NotifyHandle
[src]

Performs the conversion.

impl Sync for NotifyHandle
[src]

impl Send for NotifyHandle
[src]

impl Debug for NotifyHandle
[src]

Formats the value using the given formatter. Read more

impl Clone for NotifyHandle
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Drop for NotifyHandle
[src]

Executes the destructor for this type. Read more

impl<'a, U> From<Notify<'a, U>> for NotifyHandle where
    U: Unpark
[src]

Performs the conversion.

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

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

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

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

impl<T> From for T
[src]

Performs the conversion.

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

impl<T> Borrow for T where
    T: ?Sized
[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut for T where
    T: ?Sized
[src]

Mutably borrows from an owned value. Read more

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

🔬 This is a nightly-only experimental API. (get_type_id)

this method will likely be replaced by an associated static

Gets the TypeId of self. Read more

impl<T> Typeable for T where
    T: Any
[src]

Get the TypeId of this object.

impl<T> Erased for T
[src]