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// }