Safe Haskell | None |
---|---|
Language | Haskell2010 |
Documentation
class Mailbox mbox where Source #
mailboxEmptySTM :: mbox msg -> STM Bool Source #
sendSTM :: msg -> mbox msg -> STM () Source #
receiveSTM :: mbox msg -> STM msg Source #
requeueMsg :: msg -> mbox msg -> STM () Source #
withSource :: (MonadUnliftIO m, Mailbox mbox) => ConduitT () msg m () -> mbox msg -> (Async () -> m a) -> m a Source #
data SupervisorMessage Source #
AddChild (IO ()) (Reply (Async ())) | |
RemoveChild (Async ()) | |
StopSupervisor |
Notify ((Async (), Either SomeException ()) -> STM ()) | |
KillAll | |
IgnoreGraceful | |
IgnoreAll |
supervisor :: (MonadUnliftIO m, Mailbox mbox) => Strategy -> mbox SupervisorMessage -> [m ()] -> m () Source #
removeChild :: (MonadIO m, Mailbox mbox) => mbox SupervisorMessage -> Async () -> m () Source #
stopSupervisor :: (MonadIO m, Mailbox mbox) => mbox SupervisorMessage -> m () Source #