pub struct BackgroundTask<T: Send + 'static, R: Send + 'static> { /* private fields */ }Implementations§
Source§impl<T: Send, R: Send> BackgroundTask<T, R>
impl<T: Send, R: Send> BackgroundTask<T, R>
Sourcepub fn run(
task: fn(conector: &BackgroundTaskConector<T, R>),
receiver: Handle<Window>,
) -> Handle<BackgroundTask<T, R>>
pub fn run( task: fn(conector: &BackgroundTaskConector<T, R>), receiver: Handle<Window>, ) -> Handle<BackgroundTask<T, R>>
Starts a new background task. The task will run in a separate thread. The task will receive a conector that can be used to send and receive data from the main thread.
Sourcepub fn read(&self) -> Option<T>
pub fn read(&self) -> Option<T>
Reads the data sent by the background task. If there is no data, it returns None. This method is not meant to be used directly (it will be used by the generated code).
Sourcepub fn send(&self, value: R)
pub fn send(&self, value: R)
Sends data to the background task. This method is not meant to be used directly (it will be used by the generated code).
Sourcepub fn pause(&self)
pub fn pause(&self)
Request the background task to pause. For this method to work, the background task must use the should_stop() method
Sourcepub fn resume(&self)
pub fn resume(&self)
Request the background task to resume. For this method to work, the background task must use the should_stop() method
Sourcepub fn stop(&self)
pub fn stop(&self)
Request the background task to stop. For this method to work, the background task must use the should_stop() method
Sourcepub fn update_control_handle(&self, control_handle: Handle<()>)
pub fn update_control_handle(&self, control_handle: Handle<()>)
Updates the control handle of the background task for scenarios when the current window that receives the data is replaced.
Auto Trait Implementations§
impl<T, R> Freeze for BackgroundTask<T, R>
impl<T, R> RefUnwindSafe for BackgroundTask<T, R>where
T: RefUnwindSafe,
R: RefUnwindSafe,
impl<T, R> Send for BackgroundTask<T, R>
impl<T, R> Sync for BackgroundTask<T, R>
impl<T, R> Unpin for BackgroundTask<T, R>
impl<T, R> UnwindSafe for BackgroundTask<T, R>where
T: UnwindSafe,
R: 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
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.