diff options
| author | luwenpeng <[email protected]> | 2023-08-29 18:43:04 +0800 |
|---|---|---|
| committer | luwenpeng <[email protected]> | 2023-08-31 18:42:25 +0800 |
| commit | ccf658df8cd062fedb66bb64d3c5a25b2d847f25 (patch) | |
| tree | 182d74d33ba8ad914be2772620f073e62262ae55 /src/thread | |
| parent | ab66a023549901674110176256df5564ae039ce6 (diff) | |
[feature] Integration Test Passed
1.Receive packets through pcap
2.Packet decapsulate
3.Trigger events
4.Dispatch event management
5.Call plugin handle
6.Plugin manipulate session
Diffstat (limited to 'src/thread')
| -rw-r--r-- | src/thread/mod.rs | 1 | ||||
| -rw-r--r-- | src/thread/thread.rs | 26 |
2 files changed, 27 insertions, 0 deletions
diff --git a/src/thread/mod.rs b/src/thread/mod.rs new file mode 100644 index 0000000..0910418 --- /dev/null +++ b/src/thread/mod.rs @@ -0,0 +1 @@ +pub mod thread;
\ No newline at end of file diff --git a/src/thread/thread.rs b/src/thread/thread.rs new file mode 100644 index 0000000..d13c271 --- /dev/null +++ b/src/thread/thread.rs @@ -0,0 +1,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() + } +} |
