[−][src]Struct termimad::EventSource
a thread backed event listener emmiting events on a channel.
Additionnally to emmitting events, this source updates a sharable event count, protected by an Arc. This makes it easy for background computation to stop (or check if they should) when a user event is produced.
Methods
impl EventSource
[src]
pub fn new() -> EventSource
[src]
create a new source
pub fn unblock(&self, quit: bool)
[src]
either start listening again, or quit, depending on the passed bool. It's mandatory to call this with quit=true at end for a proper ending of the thread (and its resources)
pub fn shared_event_count(&self) -> Arc<AtomicUsize>
[src]
return a shared reference to the event count. Other threads can use it to check whether something happened (when there's no parallel computation, the event channel is usually enough).
pub fn receiver(&self) -> Receiver<Event>
[src]
return a new receiver for the channel emmiting events
Auto Trait Implementations
impl Sync for EventSource
impl Send for EventSource
impl Unpin for EventSource
impl UnwindSafe for EventSource
impl RefUnwindSafe for EventSource
Blanket Implementations
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,