diff --git a/src/mem.rs b/src/mem.rs index 8c1d70ecd..3247a869a 100644 --- a/src/mem.rs +++ b/src/mem.rs @@ -1,22 +1,21 @@ use libc::free; use libc::posix_memalign; -use std::collections::LinkedList; use std::ffi::c_void; use std::sync::Mutex; pub struct MemPool { - bufs: Mutex>>, + bufs: Mutex>>, } impl MemPool { pub const fn new() -> Self { Self { - bufs: Mutex::new(LinkedList::new()), + bufs: Mutex::new(Vec::new()), } } pub fn pop(&self, size: usize) -> Vec { - if let Some(mut buf) = self.bufs.lock().unwrap().pop_front() { + if let Some(mut buf) = self.bufs.lock().unwrap().pop() { if size > buf.capacity() { // TODO fallible allocation buf.reserve(size - buf.len()); @@ -28,7 +27,7 @@ impl MemPool { } pub fn push(&self, buf: Vec) { - self.bufs.lock().unwrap().push_front(buf); + self.bufs.lock().unwrap().push(buf); } }