pub struct BrowserSingleThreadedDispatcherImpl { /* private fields */ }Expand description
Dispatcher backend for the browser. The browser event loop is the only loop: wake-ups are posted as macrotasks and the dispatcher runs on the main thread, so its own state needs no locking. A module built with threads has other threads (the render worker), which wake the dispatcher through its signal handle. Pending input is deliberately not queried: the browser dispatches input between our tasks on its own, and gating low-priority jobs on a pending-input query starves them for as long as the pointer keeps moving.
Implementations§
Trait Implementations§
Source§impl IDispatcherImpl for BrowserSingleThreadedDispatcherImpl
impl IDispatcherImpl for BrowserSingleThreadedDispatcherImpl
fn current_thread_is_loop_thread(&self) -> bool
Source§fn signal(&self)
fn signal(&self)
Asynchronously triggers the
signaled callback.
Called on the loop thread; other threads go through
signal_handle.Source§fn signal_handle(&self) -> Arc<dyn IDispatcherSignal> ⓘ
fn signal_handle(&self) -> Arc<dyn IDispatcherSignal> ⓘ
The thread-safe handle that does what
signal does.Source§fn signaled(&self) -> &DispatcherImplEvent
fn signaled(&self) -> &DispatcherImplEvent
Raised on the loop thread in response to a signal.
Source§fn timer(&self) -> &DispatcherImplEvent
fn timer(&self) -> &DispatcherImplEvent
Raised on the loop thread when the timer set by
update_timer is due.Source§fn update_timer(&self, due_time_in_ms: Option<i64>)
fn update_timer(&self, due_time_in_ms: Option<i64>)
Sets (or clears) the time at which
timer is raised.Source§fn as_explicit_background_processing(
&self,
) -> Option<&dyn IDispatcherImplWithExplicitBackgroundProcessing>
fn as_explicit_background_processing( &self, ) -> Option<&dyn IDispatcherImplWithExplicitBackgroundProcessing>
Returns
self when the implementation supports explicit background
processing requests.Source§fn as_pending_input(&self) -> Option<&dyn IDispatcherImplWithPendingInput>
fn as_pending_input(&self) -> Option<&dyn IDispatcherImplWithPendingInput>
Returns
self when the implementation can report pending input.Source§fn as_controlled(&self) -> Option<&dyn IControlledDispatcherImpl>
fn as_controlled(&self) -> Option<&dyn IControlledDispatcherImpl>
Returns
self when the implementation can run the event loop.Source§impl IDispatcherImplWithExplicitBackgroundProcessing for BrowserSingleThreadedDispatcherImpl
impl IDispatcherImplWithExplicitBackgroundProcessing for BrowserSingleThreadedDispatcherImpl
Source§fn ready_for_background_processing(&self) -> &DispatcherImplEvent
fn ready_for_background_processing(&self) -> &DispatcherImplEvent
Raised on the loop thread once input has been handled after a call to
request_background_processing.fn request_background_processing(&self)
Auto Trait Implementations§
impl !Freeze for BrowserSingleThreadedDispatcherImpl
impl !RefUnwindSafe for BrowserSingleThreadedDispatcherImpl
impl !Send for BrowserSingleThreadedDispatcherImpl
impl !Sync for BrowserSingleThreadedDispatcherImpl
impl !UnwindSafe for BrowserSingleThreadedDispatcherImpl
impl Unpin for BrowserSingleThreadedDispatcherImpl
impl UnsafeUnpin for BrowserSingleThreadedDispatcherImpl
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> ClassDefaults for Twhere
T: ?Sized,
impl<T> ClassDefaults for Twhere
T: ?Sized,
Source§fn static_constructor()
fn static_constructor()
The static constructor of a type: work done once per thread, after
the properties of the type are registered and before its first
instance exists (class handlers,
affects_render, metadata
overrides). Read more