2023-10-16 15:50:22 +02:00
|
|
|
use std::rc::Weak;
|
2023-09-03 02:26:53 +02:00
|
|
|
|
2023-10-16 15:50:22 +02:00
|
|
|
use super::runner::Execution;
|
|
|
|
|
use crate::platform_impl::platform::r#async::Waker;
|
2019-06-25 03:15:34 +02:00
|
|
|
|
2024-06-24 13:04:55 +03:00
|
|
|
#[derive(Clone)]
|
|
|
|
|
pub struct EventLoopProxy {
|
2023-10-16 15:50:22 +02:00
|
|
|
runner: Waker<Weak<Execution>>,
|
2019-06-25 03:15:34 +02:00
|
|
|
}
|
|
|
|
|
|
2024-06-24 13:04:55 +03:00
|
|
|
impl EventLoopProxy {
|
|
|
|
|
pub fn new(runner: Waker<Weak<Execution>>) -> Self {
|
|
|
|
|
Self { runner }
|
2019-06-25 03:15:34 +02:00
|
|
|
}
|
|
|
|
|
|
2024-06-24 13:04:55 +03:00
|
|
|
pub fn wake_up(&self) {
|
2023-10-16 15:50:22 +02:00
|
|
|
self.runner.wake();
|
2019-09-24 19:39:13 -04:00
|
|
|
}
|
|
|
|
|
}
|