springql_core/stream_engine/autonomous_executor/
purger_worker.rs

1// This file is part of https://github.com/SpringQL/SpringQL which is licensed under MIT OR Apache-2.0. See file LICENSE-MIT or LICENSE-APACHE for full license details.
2
3mod purger_worker_thread;
4
5pub use purger_worker_thread::{PurgerWorkerLoopState, PurgerWorkerThread, PurgerWorkerThreadArg};
6
7use std::sync::Arc;
8
9use crate::stream_engine::autonomous_executor::{
10    args::{Coordinators, EventQueues},
11    main_job_lock::MainJobLock,
12    worker::WorkerHandle,
13};
14
15/// Worker to execute pump and sink tasks.
16#[derive(Debug)]
17pub struct PurgerWorker {
18    _handle: WorkerHandle,
19}
20
21impl PurgerWorker {
22    pub fn new(
23        main_job_lock: Arc<MainJobLock>,
24        event_queues: EventQueues,
25        coordinators: Coordinators,
26        thread_arg: PurgerWorkerThreadArg,
27    ) -> Self {
28        let handle = WorkerHandle::new::<PurgerWorkerThread>(
29            main_job_lock,
30            event_queues,
31            coordinators,
32            thread_arg,
33        );
34        Self { _handle: handle }
35    }
36}