ouroboros-consensus
Safe HaskellNone
LanguageHaskell2010

Ouroboros.Consensus.Util.EarlyExit

Synopsis

Documentation

exitEarly ∷ ∀ (m ∷ Type → Type) a. Applicative m ⇒ WithEarlyExit m a Source #

withEarlyExit_ ∷ Functor m ⇒ WithEarlyExit m () → m () Source #

Re-exports

lift ∷ (MonadTrans t, Monad m) ⇒ m a → t m a #

Lift a computation from the argument monad to the constructed monad.

opaque

data WithEarlyExit (m ∷ Type → Type) a Source #

Instances

Instances details
MonadTrans WithEarlyExit Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

Methods

lift ∷ Monad m ⇒ m a → WithEarlyExit m a #

Monad m ⇒ Alternative (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

Methods

empty ∷ WithEarlyExit m a #

(<|>) ∷ WithEarlyExit m a → WithEarlyExit m a → WithEarlyExit m a #

some ∷ WithEarlyExit m a → WithEarlyExit m [a] #

many ∷ WithEarlyExit m a → WithEarlyExit m [a] #

Monad m ⇒ Applicative (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

Methods

pure ∷ a → WithEarlyExit m a #

(<*>) ∷ WithEarlyExit m (a → b) → WithEarlyExit m a → WithEarlyExit m b #

liftA2 ∷ (a → b → c) → WithEarlyExit m a → WithEarlyExit m b → WithEarlyExit m c #

(*>) ∷ WithEarlyExit m a → WithEarlyExit m b → WithEarlyExit m b #

(<*) ∷ WithEarlyExit m a → WithEarlyExit m b → WithEarlyExit m a #

Functor m ⇒ Functor (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

Methods

fmap ∷ (a → b) → WithEarlyExit m a → WithEarlyExit m b #

(<$) ∷ a → WithEarlyExit m b → WithEarlyExit m a #

Monad m ⇒ Monad (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

Methods

(>>=) ∷ WithEarlyExit m a → (a → WithEarlyExit m b) → WithEarlyExit m b #

(>>) ∷ WithEarlyExit m a → WithEarlyExit m b → WithEarlyExit m b #

return ∷ a → WithEarlyExit m a #

Monad m ⇒ MonadPlus (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

Methods

mzero ∷ WithEarlyExit m a #

mplus ∷ WithEarlyExit m a → WithEarlyExit m a → WithEarlyExit m a #

(MonadMVar m, MonadMask m, MonadEvaluate m) ⇒ MonadMVar (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

Associated Types

type MVar (WithEarlyExit m) 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

type MVar (WithEarlyExit m) = MVar m
(MonadMask m, MonadAsync m, MonadCatch (STM m)) ⇒ MonadAsync (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

Associated Types

type Async (WithEarlyExit m) 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

Methods

async ∷ WithEarlyExit m a → WithEarlyExit m (Async (WithEarlyExit m) a) Source #

asyncBound ∷ WithEarlyExit m a → WithEarlyExit m (Async (WithEarlyExit m) a) Source #

asyncOn ∷ Int → WithEarlyExit m a → WithEarlyExit m (Async (WithEarlyExit m) a) Source #

asyncThreadId ∷ Async (WithEarlyExit m) a → ThreadId (WithEarlyExit m) Source #

withAsync ∷ WithEarlyExit m a → (Async (WithEarlyExit m) a → WithEarlyExit m b) → WithEarlyExit m b Source #

withAsyncBound ∷ WithEarlyExit m a → (Async (WithEarlyExit m) a → WithEarlyExit m b) → WithEarlyExit m b Source #

withAsyncOn ∷ Int → WithEarlyExit m a → (Async (WithEarlyExit m) a → WithEarlyExit m b) → WithEarlyExit m b Source #

waitSTM ∷ Async (WithEarlyExit m) a → STM (WithEarlyExit m) a Source #

pollSTM ∷ Async (WithEarlyExit m) a → STM (WithEarlyExit m) (Maybe (Either SomeException a)) Source #

waitCatchSTM ∷ Async (WithEarlyExit m) a → STM (WithEarlyExit m) (Either SomeException a) Source #

waitAnySTM ∷ [Async (WithEarlyExit m) a] → STM (WithEarlyExit m) (Async (WithEarlyExit m) a, a) Source #

waitAnyCatchSTM ∷ [Async (WithEarlyExit m) a] → STM (WithEarlyExit m) (Async (WithEarlyExit m) a, Either SomeException a) Source #

waitEitherSTM ∷ Async (WithEarlyExit m) a → Async (WithEarlyExit m) b → STM (WithEarlyExit m) (Either a b) Source #

waitEitherSTM_ ∷ Async (WithEarlyExit m) a → Async (WithEarlyExit m) b → STM (WithEarlyExit m) () Source #

waitEitherCatchSTM ∷ Async (WithEarlyExit m) a → Async (WithEarlyExit m) b → STM (WithEarlyExit m) (Either (Either SomeException a) (Either SomeException b)) Source #

waitBothSTM ∷ Async (WithEarlyExit m) a → Async (WithEarlyExit m) b → STM (WithEarlyExit m) (a, b) Source #

wait ∷ Async (WithEarlyExit m) a → WithEarlyExit m a Source #

poll ∷ Async (WithEarlyExit m) a → WithEarlyExit m (Maybe (Either SomeException a)) Source #

waitCatch ∷ Async (WithEarlyExit m) a → WithEarlyExit m (Either SomeException a) Source #

cancel ∷ Async (WithEarlyExit m) a → WithEarlyExit m () Source #

cancelWith ∷ Exception e ⇒ Async (WithEarlyExit m) a → e → WithEarlyExit m () Source #

uninterruptibleCancel ∷ Async (WithEarlyExit m) a → WithEarlyExit m () Source #

waitAny ∷ [Async (WithEarlyExit m) a] → WithEarlyExit m (Async (WithEarlyExit m) a, a) Source #

waitAnyCatch ∷ [Async (WithEarlyExit m) a] → WithEarlyExit m (Async (WithEarlyExit m) a, Either SomeException a) Source #

waitAnyCancel ∷ [Async (WithEarlyExit m) a] → WithEarlyExit m (Async (WithEarlyExit m) a, a) Source #

waitAnyCatchCancel ∷ [Async (WithEarlyExit m) a] → WithEarlyExit m (Async (WithEarlyExit m) a, Either SomeException a) Source #

waitEither ∷ Async (WithEarlyExit m) a → Async (WithEarlyExit m) b → WithEarlyExit m (Either a b) Source #

waitEitherCatch ∷ Async (WithEarlyExit m) a → Async (WithEarlyExit m) b → WithEarlyExit m (Either (Either SomeException a) (Either SomeException b)) Source #

waitEitherCancel ∷ Async (WithEarlyExit m) a → Async (WithEarlyExit m) b → WithEarlyExit m (Either a b) Source #

waitEitherCatchCancel ∷ Async (WithEarlyExit m) a → Async (WithEarlyExit m) b → WithEarlyExit m (Either (Either SomeException a) (Either SomeException b)) Source #

waitEither_ ∷ Async (WithEarlyExit m) a → Async (WithEarlyExit m) b → WithEarlyExit m () Source #

waitBoth ∷ Async (WithEarlyExit m) a → Async (WithEarlyExit m) b → WithEarlyExit m (a, b) Source #

race ∷ WithEarlyExit m a → WithEarlyExit m b → WithEarlyExit m (Either a b) Source #

race_ ∷ WithEarlyExit m a → WithEarlyExit m b → WithEarlyExit m () Source #

concurrently ∷ WithEarlyExit m a → WithEarlyExit m b → WithEarlyExit m (a, b) Source #

concurrently_ ∷ WithEarlyExit m a → WithEarlyExit m b → WithEarlyExit m () Source #

asyncWithUnmask ∷ ((∀ b. WithEarlyExit m b → WithEarlyExit m b) → WithEarlyExit m a) → WithEarlyExit m (Async (WithEarlyExit m) a) Source #

asyncOnWithUnmask ∷ Int → ((∀ b. WithEarlyExit m b → WithEarlyExit m b) → WithEarlyExit m a) → WithEarlyExit m (Async (WithEarlyExit m) a) Source #

withAsyncWithUnmask ∷ ((∀ c. WithEarlyExit m c → WithEarlyExit m c) → WithEarlyExit m a) → (Async (WithEarlyExit m) a → WithEarlyExit m b) → WithEarlyExit m b Source #

withAsyncOnWithUnmask ∷ Int → ((∀ c. WithEarlyExit m c → WithEarlyExit m c) → WithEarlyExit m a) → (Async (WithEarlyExit m) a → WithEarlyExit m b) → WithEarlyExit m b Source #

compareAsyncs ∷ Async (WithEarlyExit m) a → Async (WithEarlyExit m) b → Ordering Source #

MonadEventlog m ⇒ MonadEventlog (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

MonadFork m ⇒ MonadFork (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

MonadThread m ⇒ MonadThread (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

Associated Types

type ThreadId (WithEarlyExit m) 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

MonadST m ⇒ MonadST (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

Methods

stToIO ∷ ST (PrimState (WithEarlyExit m)) a → WithEarlyExit m a Source #

withLiftST ∷ (∀ s. (∀ a. ST s a → WithEarlyExit m a) → b) → b Source #

(MonadInspectSTM m, Monad (InspectMonadSTM m)) ⇒ MonadInspectSTM (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

Associated Types

type InspectMonadSTM (WithEarlyExit m) 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

MonadLabelledSTM m ⇒ MonadLabelledSTM (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

MonadSTM m ⇒ MonadSTM (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

Associated Types

type STM (WithEarlyExit m) 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

type TVar (WithEarlyExit m) 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

type TVar (WithEarlyExit m) = TVar m
type TMVar (WithEarlyExit m) 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

type TQueue (WithEarlyExit m) 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

type TBQueue (WithEarlyExit m) 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

type TArray (WithEarlyExit m) 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

type TSem (WithEarlyExit m) 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

type TSem (WithEarlyExit m) = TSem m
type TChan (WithEarlyExit m) 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

Methods

atomically ∷ HasCallStack ⇒ STM (WithEarlyExit m) a → WithEarlyExit m a Source #

newTVar ∷ a → STM (WithEarlyExit m) (TVar (WithEarlyExit m) a) Source #

readTVar ∷ TVar (WithEarlyExit m) a → STM (WithEarlyExit m) a Source #

writeTVar ∷ TVar (WithEarlyExit m) a → a → STM (WithEarlyExit m) () Source #

retry ∷ STM (WithEarlyExit m) a Source #

orElse ∷ STM (WithEarlyExit m) a → STM (WithEarlyExit m) a → STM (WithEarlyExit m) a Source #

modifyTVar ∷ TVar (WithEarlyExit m) a → (a → a) → STM (WithEarlyExit m) () Source #

modifyTVar' ∷ TVar (WithEarlyExit m) a → (a → a) → STM (WithEarlyExit m) () Source #

stateTVar ∷ TVar (WithEarlyExit m) s → (s → (a, s)) → STM (WithEarlyExit m) a Source #

swapTVar ∷ TVar (WithEarlyExit m) a → a → STM (WithEarlyExit m) a Source #

check ∷ Bool → STM (WithEarlyExit m) () Source #

newTMVar ∷ a → STM (WithEarlyExit m) (TMVar (WithEarlyExit m) a) Source #

newEmptyTMVar ∷ STM (WithEarlyExit m) (TMVar (WithEarlyExit m) a) Source #

takeTMVar ∷ TMVar (WithEarlyExit m) a → STM (WithEarlyExit m) a Source #

tryTakeTMVar ∷ TMVar (WithEarlyExit m) a → STM (WithEarlyExit m) (Maybe a) Source #

putTMVar ∷ TMVar (WithEarlyExit m) a → a → STM (WithEarlyExit m) () Source #

tryPutTMVar ∷ TMVar (WithEarlyExit m) a → a → STM (WithEarlyExit m) Bool Source #

readTMVar ∷ TMVar (WithEarlyExit m) a → STM (WithEarlyExit m) a Source #

tryReadTMVar ∷ TMVar (WithEarlyExit m) a → STM (WithEarlyExit m) (Maybe a) Source #

swapTMVar ∷ TMVar (WithEarlyExit m) a → a → STM (WithEarlyExit m) a Source #

writeTMVar ∷ TMVar (WithEarlyExit m) a → a → STM (WithEarlyExit m) () Source #

isEmptyTMVar ∷ TMVar (WithEarlyExit m) a → STM (WithEarlyExit m) Bool Source #

newTQueue ∷ STM (WithEarlyExit m) (TQueue (WithEarlyExit m) a) Source #

readTQueue ∷ TQueue (WithEarlyExit m) a → STM (WithEarlyExit m) a Source #

tryReadTQueue ∷ TQueue (WithEarlyExit m) a → STM (WithEarlyExit m) (Maybe a) Source #

peekTQueue ∷ TQueue (WithEarlyExit m) a → STM (WithEarlyExit m) a Source #

tryPeekTQueue ∷ TQueue (WithEarlyExit m) a → STM (WithEarlyExit m) (Maybe a) Source #

flushTQueue ∷ TQueue (WithEarlyExit m) a → STM (WithEarlyExit m) [a] Source #

writeTQueue ∷ TQueue (WithEarlyExit m) a → a → STM (WithEarlyExit m) () Source #

isEmptyTQueue ∷ TQueue (WithEarlyExit m) a → STM (WithEarlyExit m) Bool Source #

unGetTQueue ∷ TQueue (WithEarlyExit m) a → a → STM (WithEarlyExit m) () Source #

newTBQueue ∷ Natural → STM (WithEarlyExit m) (TBQueue (WithEarlyExit m) a) Source #

readTBQueue ∷ TBQueue (WithEarlyExit m) a → STM (WithEarlyExit m) a Source #

tryReadTBQueue ∷ TBQueue (WithEarlyExit m) a → STM (WithEarlyExit m) (Maybe a) Source #

peekTBQueue ∷ TBQueue (WithEarlyExit m) a → STM (WithEarlyExit m) a Source #

tryPeekTBQueue ∷ TBQueue (WithEarlyExit m) a → STM (WithEarlyExit m) (Maybe a) Source #

flushTBQueue ∷ TBQueue (WithEarlyExit m) a → STM (WithEarlyExit m) [a] Source #

writeTBQueue ∷ TBQueue (WithEarlyExit m) a → a → STM (WithEarlyExit m) () Source #

lengthTBQueue ∷ TBQueue (WithEarlyExit m) a → STM (WithEarlyExit m) Natural Source #

isEmptyTBQueue ∷ TBQueue (WithEarlyExit m) a → STM (WithEarlyExit m) Bool Source #

isFullTBQueue ∷ TBQueue (WithEarlyExit m) a → STM (WithEarlyExit m) Bool Source #

unGetTBQueue ∷ TBQueue (WithEarlyExit m) a → a → STM (WithEarlyExit m) () Source #

newTSem ∷ Integer → STM (WithEarlyExit m) (TSem (WithEarlyExit m)) Source #

waitTSem ∷ TSem (WithEarlyExit m) → STM (WithEarlyExit m) () Source #

signalTSem ∷ TSem (WithEarlyExit m) → STM (WithEarlyExit m) () Source #

signalTSemN ∷ Natural → TSem (WithEarlyExit m) → STM (WithEarlyExit m) () Source #

newTChan ∷ STM (WithEarlyExit m) (TChan (WithEarlyExit m) a) Source #

newBroadcastTChan ∷ STM (WithEarlyExit m) (TChan (WithEarlyExit m) a) Source #

dupTChan ∷ TChan (WithEarlyExit m) a → STM (WithEarlyExit m) (TChan (WithEarlyExit m) a) Source #

cloneTChan ∷ TChan (WithEarlyExit m) a → STM (WithEarlyExit m) (TChan (WithEarlyExit m) a) Source #

readTChan ∷ TChan (WithEarlyExit m) a → STM (WithEarlyExit m) a Source #

tryReadTChan ∷ TChan (WithEarlyExit m) a → STM (WithEarlyExit m) (Maybe a) Source #

peekTChan ∷ TChan (WithEarlyExit m) a → STM (WithEarlyExit m) a Source #

tryPeekTChan ∷ TChan (WithEarlyExit m) a → STM (WithEarlyExit m) (Maybe a) Source #

writeTChan ∷ TChan (WithEarlyExit m) a → a → STM (WithEarlyExit m) () Source #

unGetTChan ∷ TChan (WithEarlyExit m) a → a → STM (WithEarlyExit m) () Source #

isEmptyTChan ∷ TChan (WithEarlyExit m) a → STM (WithEarlyExit m) Bool Source #

newTVarIO ∷ a → WithEarlyExit m (TVar (WithEarlyExit m) a) Source #

readTVarIO ∷ TVar (WithEarlyExit m) a → WithEarlyExit m a Source #

newTMVarIO ∷ a → WithEarlyExit m (TMVar (WithEarlyExit m) a) Source #

newEmptyTMVarIO ∷ WithEarlyExit m (TMVar (WithEarlyExit m) a) Source #

newTQueueIO ∷ WithEarlyExit m (TQueue (WithEarlyExit m) a) Source #

newTBQueueIO ∷ Natural → WithEarlyExit m (TBQueue (WithEarlyExit m) a) Source #

newTChanIO ∷ WithEarlyExit m (TChan (WithEarlyExit m) a) Source #

newBroadcastTChanIO ∷ WithEarlyExit m (TChan (WithEarlyExit m) a) Source #

MonadTraceSTM m ⇒ MonadTraceSTM (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

Methods

traceTVar ∷ proxy (WithEarlyExit m) → TVar (WithEarlyExit m) a → (Maybe a → a → InspectMonadSTM (WithEarlyExit m) TraceValue) → STM (WithEarlyExit m) () Source #

traceTMVar ∷ proxy (WithEarlyExit m) → TMVar (WithEarlyExit m) a → (Maybe (Maybe a) → Maybe a → InspectMonadSTM (WithEarlyExit m) TraceValue) → STM (WithEarlyExit m) () Source #

traceTQueue ∷ proxy (WithEarlyExit m) → TQueue (WithEarlyExit m) a → (Maybe [a] → [a] → InspectMonadSTM (WithEarlyExit m) TraceValue) → STM (WithEarlyExit m) () Source #

traceTBQueue ∷ proxy (WithEarlyExit m) → TBQueue (WithEarlyExit m) a → (Maybe [a] → [a] → InspectMonadSTM (WithEarlyExit m) TraceValue) → STM (WithEarlyExit m) () Source #

traceTSem ∷ proxy (WithEarlyExit m) → TSem (WithEarlyExit m) → (Maybe Integer → Integer → InspectMonadSTM (WithEarlyExit m) TraceValue) → STM (WithEarlyExit m) () Source #

traceTVarIO ∷ TVar (WithEarlyExit m) a → (Maybe a → a → InspectMonadSTM (WithEarlyExit m) TraceValue) → WithEarlyExit m () Source #

traceTMVarIO ∷ TMVar (WithEarlyExit m) a → (Maybe (Maybe a) → Maybe a → InspectMonadSTM (WithEarlyExit m) TraceValue) → WithEarlyExit m () Source #

traceTQueueIO ∷ TQueue (WithEarlyExit m) a → (Maybe [a] → [a] → InspectMonadSTM (WithEarlyExit m) TraceValue) → WithEarlyExit m () Source #

traceTBQueueIO ∷ TBQueue (WithEarlyExit m) a → (Maybe [a] → [a] → InspectMonadSTM (WithEarlyExit m) TraceValue) → WithEarlyExit m () Source #

traceTSemIO ∷ TSem (WithEarlyExit m) → (Maybe Integer → Integer → InspectMonadSTM (WithEarlyExit m) TraceValue) → WithEarlyExit m () Source #

MonadSay m ⇒ MonadSay (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

Methods

say ∷ String → WithEarlyExit m () Source #

MonadCatch m ⇒ MonadCatch (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

Methods

catch ∷ Exception e ⇒ WithEarlyExit m a → (e → WithEarlyExit m a) → WithEarlyExit m a Source #

catchJust ∷ Exception e ⇒ (e → Maybe b) → WithEarlyExit m a → (b → WithEarlyExit m a) → WithEarlyExit m a Source #

try ∷ Exception e ⇒ WithEarlyExit m a → WithEarlyExit m (Either e a) Source #

tryJust ∷ Exception e ⇒ (e → Maybe b) → WithEarlyExit m a → WithEarlyExit m (Either b a) Source #

handle ∷ Exception e ⇒ (e → WithEarlyExit m a) → WithEarlyExit m a → WithEarlyExit m a Source #

handleJust ∷ Exception e ⇒ (e → Maybe b) → (b → WithEarlyExit m a) → WithEarlyExit m a → WithEarlyExit m a Source #

onException ∷ WithEarlyExit m a → WithEarlyExit m b → WithEarlyExit m a Source #

bracketOnError ∷ WithEarlyExit m a → (a → WithEarlyExit m b) → (a → WithEarlyExit m c) → WithEarlyExit m c Source #

generalBracket ∷ WithEarlyExit m a → (a → ExitCase b → WithEarlyExit m c) → (a → WithEarlyExit m b) → WithEarlyExit m (b, c) Source #

(MonadEvaluate m, MonadCatch m) ⇒ MonadEvaluate (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

Methods

evaluate ∷ a → WithEarlyExit m a Source #

MonadMask m ⇒ MonadMask (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

MonadCatch m ⇒ MonadThrow (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

MonadMonotonicTimeNSec m ⇒ MonadMonotonicTimeNSec (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

MonadDelay m ⇒ MonadDelay (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

Methods

threadDelay ∷ Int → WithEarlyExit m () Source #

MonadMonotonicTime m ⇒ MonadMonotonicTime (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

MonadDelay m ⇒ MonadDelay (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

Methods

threadDelay ∷ DiffTime → WithEarlyExit m () #

(IOLike m, ∀ a. NoThunks (StrictTVar (WithEarlyExit m) a), ∀ a. NoThunks (StrictSVar (WithEarlyExit m) a), ∀ a. NoThunks (StrictMVar (WithEarlyExit m) a)) ⇒ IOLike (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

PrimMonad m ⇒ PrimMonad (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

Associated Types

type PrimState (WithEarlyExit m) 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

NoThunks (StrictMVar m a) ⇒ NoThunks (StrictMVar (WithEarlyExit m) a) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

Methods

noThunks ∷ Context → StrictMVar (WithEarlyExit m) a → IO (Maybe ThunkInfo) Source #

wNoThunks ∷ Context → StrictMVar (WithEarlyExit m) a → IO (Maybe ThunkInfo) Source #

showTypeOf ∷ Proxy (StrictMVar (WithEarlyExit m) a) → String Source #

NoThunks (StrictTMVar m a) ⇒ NoThunks (StrictTMVar (WithEarlyExit m) a) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

NoThunks (StrictTVar m a) ⇒ NoThunks (StrictTVar (WithEarlyExit m) a) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

Methods

noThunks ∷ Context → StrictTVar (WithEarlyExit m) a → IO (Maybe ThunkInfo) Source #

wNoThunks ∷ Context → StrictTVar (WithEarlyExit m) a → IO (Maybe ThunkInfo) Source #

showTypeOf ∷ Proxy (StrictTVar (WithEarlyExit m) a) → String Source #

(∀ a'. NoThunks (m a')) ⇒ NoThunks (WithEarlyExit m a) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

NoThunks (StrictSVar m a) ⇒ NoThunks (StrictSVar (WithEarlyExit m) a) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

type MVar (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

type MVar (WithEarlyExit m) = MVar m
type Async (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

type ThreadId (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

type InspectMonadSTM (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

type STM (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

type TArray (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

type TBQueue (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

type TChan (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

type TMVar (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

type TQueue (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

type TSem (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

type TSem (WithEarlyExit m) = TSem m
type TVar (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit

type TVar (WithEarlyExit m) = TVar m
type PrimState (WithEarlyExit m) Source # 
Instance details

Defined in Ouroboros.Consensus.Util.EarlyExit