Struct Operation

pub struct Operation(pub(in ::sync::mpmc::select) usize);

Identifier associated with an operation by a specific thread on a specific channel.

Fields

0: usize

Implementations

impl Operation

fn hook<T>(r: &mut T) -> Operation

Creates an operation identifier from a mutable reference.

This function essentially just turns the address of the reference into a number. The reference should point to a variable that is specific to the thread and the operation, and is alive for the entire duration of a blocking operation.

Trait Implementations

impl Clone for Operation

fn clone(&self) -> Operation

impl Copy for Operation

impl Debug for Operation

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

impl Eq for Operation

fn assert_fields_are_eq(&self)

impl PartialEq for Operation

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

impl StructuralPartialEq for Operation

impl TrivialClone for Operation

Auto Trait Implementations

impl Freeze for Operation

impl RefUnwindSafe for Operation

impl Send for Operation

impl Sync for Operation

impl Unpin for Operation

impl UnsafeUnpin for Operation

impl UnwindSafe for Operation

Blanket Implementations

impl<T> Any for Operation where T: 'static + ?Sized,

fn type_id(&self) -> TypeId

impl<T> Borrow<T> for Operation where T: ?Sized,

fn borrow(&self) -> &T

impl<T> BorrowMut<T> for Operation where T: ?Sized,

fn borrow_mut(&mut self) -> &mut T

impl<T> CloneToUninit for Operation where T: Clone,

unsafe fn clone_to_uninit(&self, dest: *mut u8)

impl<T> From<T> for Operation

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> Printable for Operation where T: Copy + Debug,

impl<T> SizeHint for Operation where T: ?Sized,

fn lower_bound(&self) -> usize
fn upper_bound(&self) -> Option<usize>

impl<T> SizedTypeProperties for Operation

impl<T> ToOwned for Operation where T: Clone,

type Owned = T;
fn to_owned(&self) -> T
fn clone_into(&self, target: &mut T)

impl<T, U> Into<U> for Operation where U: From<T>,

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, U> TryFrom<U> for Operation where U: Into<T>,

type Error = Infallible;
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

impl<T, U> TryInto<U> for Operation where U: TryFrom<T>,

type Error = <U as TryFrom<T>>::Error;
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>