Async Pool
Async Pool Debido a que Uranium4Linux toma ventaja de la programación asíncrona es necesario una pool de tareas para que este pueda funcionar de forma eficiente. El principal problema de las task es que no se puede saber el tiempo que va a tomar ejecutarlas por lo tanto necesitamos de algo que pueda comprobar si la task esta lista y, en caso de que lo este, guardar el resultado o aplicar alguna función. Para conseguir esto he diseñado una estructura tal que: pub struct AsyncPool<T> { request_pool: Vec<JoinHandle<T>>, items: usize, not_done_request: Vec<usize>, ordered_requests: HashMap<usize, T> } La idea original de la AsyncPool era que el orden en el que los resultados son devueltos a partir de task no estuviera garantizado. Es decir, si añado un vector...