ps-promise 0.1.0-17

Promise-like owned futures
Documentation
mod methods;

use std::{collections::HashMap, task::Waker};

use crate::{
    sync::{
        atomic::{AtomicBool, AtomicUsize},
        Mutex,
    },
    Promise, PromiseRejection,
};

pub(super) struct SharedState<T, E>
where
    E: PromiseRejection,
{
    pub(super) inner: Mutex<Option<Promise<T, E>>>,
    pub(super) wakers: Mutex<HashMap<usize, Waker>>,
    pub(super) next_waiter_id: AtomicUsize,
    pub(super) woke: AtomicBool,
}