ThreadLoop

Struct ThreadLoop 

Source
pub struct ThreadLoop { /* private fields */ }
Expand description

Provides a main loop implementation which runs in a separate thread.

Implementations§

Source§

impl ThreadLoop

Source

pub fn new(props: &Properties) -> Option<ThreadLoop>

Create a new thread main loop.

Source

pub fn main_loop(&self) -> &MainLoop

Access the underlying main loop.

This is only intended for managing the main loop sources, and methods such as [MainLoop::run], [MainLoop::lock] etc. should not be called.
Source

pub fn run(&self)

Run the thread main loop.

Source

pub fn quit(&self)

Quit the thread main loop.

Source

pub fn lock(&self) -> ThreadLoopGuard

Take a lock on the thread main loop. While this lock is held, the main loop thread will not run any iterations. Conversely, taking the lock will block until the current main loop iteration has completed.

The lock is released when the returned ThreadLoopGuard is dropped.

Trait Implementations§

Source§

impl Clone for ThreadLoop

Source§

fn clone(&self) -> ThreadLoop

Returns a duplicate 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 Refcounted for ThreadLoop

Source§

type WeakRef = WeakThreadLoop

The type of a weak reference to the object
Source§

fn upgrade(this: &Self::WeakRef) -> Option<Self>

Try to convert a weak reference to a strong reference. If the underlying object isstill alive, returns a Some continaing the value. If the underlying object’s strong reference count dropped to zero, and was thus freed, this returns None.
Source§

fn downgrade(&self) -> Self::WeakRef

Create a weak reference to the object. This reference does not impact the object’s lifecycle, and merely allows us the option to try to retrieve the object using Self::upgrade().
Source§

impl Send for ThreadLoop

Source§

impl Sync for ThreadLoop

Auto Trait Implementations§

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

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

Source§

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

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where 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.

Source§

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

Source§

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

Source§

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

Source§

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.