1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
mod utils;
pub use utils::*;

#[cfg(any(feature = "traits", test))]
pub mod traits;

#[cfg(any(feature = "test", test))]
pub mod test;

#[cfg(any(feature = "constants", test))]
pub mod constants;

// Next:
// - finish log writer
// - add `random_ip`/`random_ip_v4`/`random_ip_v6`
// - add `drain_filter_random` test util
// - add `timeout` util for futures

// fn flattern<T>(vector: Vec<Vec<T>>) -> Vec<T> {
//     let mut result = vec![];

//     for subvector in vector {
//         for item in subvector {
//             result.push(item);
//         }
//     }

//     return result;
// }