zune_image/mempool.rs
1// use std::sync::atomic::{AtomicBool, AtomicU8, Ordering};
2// use std::sync::Mutex;
3// use crate::channel::Channel;
4//
5// struct MemPool {
6// pool: Vec<Mutex<Channel>>,
7// used_pool: Vec<AtomicBool>,
8// }
9//
10// impl MemPool {
11// //
12// // pub fn new(size:usize){
13// // MemPool{
14// // pool: vec![],
15// // used_pool: vec![],
16// // }
17// // }
18//
19// pub fn request_memory(&self, size: usize) {
20// // find the first pool which meets size
21// for (pos, pool_ptr) in self.used_pool.iter().enumerate() {
22// if let Ok(val) = pool_ptr.compare_exchange(false, true, Ordering::Acquire, Ordering::Relaxed) {
23// if false {
24//
25// }
26// }
27// }
28// }
29// }