pub struct GenericCallback<T>(GenericCallbackVariants<T>)
where
T: Serialize + Send + 'static;
Expand description
A mechanism to run a callback in the process this callback was constructed in.
The GenericCallback can be sent cross-process (in multi-process mode). In this case the callback will be executed on the ROUTER thread. In single-process mode the callback will be executed directly.
Tuple Fields§
§0: GenericCallbackVariants<T>
Implementations§
Source§impl<T> GenericCallback<T>
impl<T> GenericCallback<T>
Sourcepub fn new<F: FnMut(Result<T, Error>) + Send + 'static>(
callback: F,
) -> Result<Self, Error>
pub fn new<F: FnMut(Result<T, Error>) + Send + 'static>( callback: F, ) -> Result<Self, Error>
Creates a new GenericCallback.
The callback should not do any heavy work and not block.
Sourcepub fn send(&self, value: T) -> SendResult
pub fn send(&self, value: T) -> SendResult
Send value
to the callback.
Note that a return value of Ok()
simply means that value was sent successfully
to the callback. The callback itself does not return any value.
The caller may not assume that the callback is executed synchronously.
Trait Implementations§
Source§impl<T> Clone for GenericCallback<T>
impl<T> Clone for GenericCallback<T>
Source§impl<T> Debug for GenericCallback<T>
impl<T> Debug for GenericCallback<T>
Source§impl<'a, T> Deserialize<'a> for GenericCallback<T>
impl<'a, T> Deserialize<'a> for GenericCallback<T>
Source§fn deserialize<D>(d: D) -> Result<GenericCallback<T>, D::Error>where
D: Deserializer<'a>,
fn deserialize<D>(d: D) -> Result<GenericCallback<T>, D::Error>where
D: Deserializer<'a>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<T> MallocSizeOf for GenericCallback<T>
impl<T> MallocSizeOf for GenericCallback<T>
Source§fn size_of(&self, _ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, _ops: &mut MallocSizeOfOps) -> usize
Measure the heap usage of all descendant heap-allocated structures, but
not the space taken up by the value itself.
Auto Trait Implementations§
impl<T> Freeze for GenericCallback<T>
impl<T> !RefUnwindSafe for GenericCallback<T>
impl<T> Send for GenericCallback<T>
impl<T> !Sync for GenericCallback<T>
impl<T> Unpin for GenericCallback<T>where
T: Unpin,
impl<T> UnwindSafe for GenericCallback<T>where
T: UnwindSafe,
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<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> MaybeBoxed<Box<T>> for T
impl<T> MaybeBoxed<Box<T>> for T
Source§fn maybe_boxed(self) -> Box<T>
fn maybe_boxed(self) -> Box<T>
Convert
Source§impl<T> MaybeBoxed<T> for T
impl<T> MaybeBoxed<T> for T
Source§fn maybe_boxed(self) -> T
fn maybe_boxed(self) -> T
Convert