summaryrefslogtreecommitdiff
path: root/src/thread/thread.rs
blob: d13c27197378843d984a79c0afe109315f6083f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
use crate::event::manager::EventManager;
use crate::session::manager::SessionManager;
use std::cell::RefCell;
use std::rc::Rc;

pub struct ThreadContex {
    event_mgr: Rc<RefCell<EventManager>>,
    session_mgr: Rc<RefCell<SessionManager>>,
}

impl ThreadContex {
    pub fn new() -> Self {
        ThreadContex {
            event_mgr: Rc::new(RefCell::new(EventManager::new())),
            session_mgr: Rc::new(RefCell::new(SessionManager::new(4096))),
        }
    }

    pub fn get_event_mgr(&self) -> Rc<RefCell<EventManager>> {
        self.event_mgr.clone()
    }

    pub fn get_session_mgr(&self) -> Rc<RefCell<SessionManager>> {
        self.session_mgr.clone()
    }
}