summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/event/event.rs2
-rw-r--r--src/session/manager.rs8
2 files changed, 5 insertions, 5 deletions
diff --git a/src/event/event.rs b/src/event/event.rs
index eadd622..bef0efe 100644
--- a/src/event/event.rs
+++ b/src/event/event.rs
@@ -37,7 +37,7 @@ impl EventManager {
let mut vec = vec.borrow_mut();
vec.push(handle);
} else {
- let mut vec = vec![];
+ let mut vec = Vec::with_capacity(1024);
vec.push(handle);
self.cared_event.insert(index, RefCell::new(vec));
}
diff --git a/src/session/manager.rs b/src/session/manager.rs
index ce07223..3128da5 100644
--- a/src/session/manager.rs
+++ b/src/session/manager.rs
@@ -17,9 +17,9 @@ pub struct SessionManager {
******************************************************************************/
impl SessionManager {
- pub fn new() -> SessionManager {
+ pub fn new(capacity: usize) -> SessionManager {
SessionManager {
- sessions: HashMap::new(),
+ sessions: HashMap::with_capacity(capacity),
}
}
@@ -41,7 +41,7 @@ impl SessionManager {
pub fn expire_sessions(&mut self) {
let now = Utc::now().timestamp();
- let mut expired_sessions = Vec::new();
+ let mut expired_sessions = Vec::with_capacity(1024);
for (session_id, session) in &self.sessions {
if session.get_session_expire_ts() < now {
expired_sessions.push(session_id.clone());
@@ -76,7 +76,7 @@ mod tests {
#[test]
fn test_session_manager() {
// Create Session Manager
- let mut session_mgr = SessionManager::new();
+ let mut session_mgr = SessionManager::new(1024);
let five_tuple_4 = FiveTuple::from_v4(
Ipv4Addr::new(192, 168, 0, 1),