ferroui_base/threading/
mod.rs1mod cancellation_token;
6mod dispatcher;
7mod dispatcher_event_args;
8mod dispatcher_exceptions;
9mod dispatcher_frame;
10mod dispatcher_invoke;
11mod dispatcher_main_loop;
12mod dispatcher_operation;
13mod dispatcher_options;
14mod dispatcher_priority;
15mod dispatcher_priority_awaitable;
16mod dispatcher_priority_queue;
17mod dispatcher_task;
18mod dispatcher_queue;
19mod dispatcher_thread_storage;
20mod dispatcher_timer;
21mod dispatcher_timers;
22mod dispatcher_unhandled_exception_event_args;
23mod dispatcher_unhandled_exception_filter_event_args;
24mod ferro_synchronization_context;
25mod i_dispatcher;
26mod i_dispatcher_impl;
27mod thread_safe_object_pool;
28
29pub use cancellation_token::{CancellationToken, CancellationTokenRegistration, CancellationTokenSource};
30pub use dispatcher::{
31 Dispatcher, DispatcherUnhandledExceptionEventHandler, DispatcherUnhandledExceptionFilterEventHandler,
32};
33pub use dispatcher_event_args::DispatcherEventArgs;
34pub use dispatcher_frame::DispatcherFrame;
35pub use dispatcher_main_loop::DispatcherProcessingDisabled;
36pub use dispatcher_operation::{
37 DispatcherException, DispatcherOperation, DispatcherOperationStatus, OperationCanceledError,
38};
39pub use dispatcher_options::DispatcherOptions;
40pub use dispatcher_priority::{DispatcherPriority, DispatcherPriorityOutOfRangeError};
41pub use dispatcher_invoke::DispatcherInvokeError;
42pub use dispatcher_priority_awaitable::{DispatcherPriorityAwaitable, DispatcherPriorityTaskAwaitable};
43pub use dispatcher_task::DispatcherTask;
44pub use ferro_synchronization_context::{DispatcherTaskScheduler, FerroSynchronizationContext, RestoreContext};
45pub use thread_safe_object_pool::ThreadSafeObjectPool;
46pub use dispatcher_thread_storage::UnitTestDispatcherScope;
47pub use dispatcher_timer::DispatcherTimer;
48pub use dispatcher_unhandled_exception_event_args::DispatcherUnhandledExceptionEventArgs;
49pub use dispatcher_unhandled_exception_filter_event_args::DispatcherUnhandledExceptionFilterEventArgs;
50pub use i_dispatcher::IDispatcher;
51pub use i_dispatcher_impl::{
52 DispatcherImplEvent, IControlledDispatcherImpl, IDispatcherImpl, IDispatcherImplWithExplicitBackgroundProcessing,
53 IDispatcherImplWithPendingInput, IDispatcherSignal, IPlatformThreadingSignal,
54};
55
56#[cfg(test)]
57mod dispatcher_priority_queue_tests;
58#[cfg(test)]
59mod dispatcher_tests;
60#[cfg(test)]
61mod dispatcher_tests_exception;