io-classes:strict-stm
Safe HaskellNone
LanguageHaskell2010

Control.Concurrent.Class.MonadSTM.Strict.TBQueue

Description

This module corresponds to TBQueue in "stm" package

Synopsis

MonadSTM

data StrictTBQueue (m :: Type -> Type) a Source #

type LazyTBQueue (m :: Type -> Type) = TBQueue m Source #

fromLazyTBQueue :: forall (m :: Type -> Type) a. LazyTBQueue m a -> StrictTBQueue m a Source #

castStrictTBQueue :: forall (m :: Type -> Type) (n :: Type -> Type) a. LazyTBQueue m ~ LazyTBQueue n => StrictTBQueue m a -> StrictTBQueue n a Source #

newTBQueue :: forall (m :: Type -> Type) a. MonadSTM m => Natural -> STM m (StrictTBQueue m a) Source #

readTBQueue :: forall (m :: Type -> Type) a. MonadSTM m => StrictTBQueue m a -> STM m a Source #

tryReadTBQueue :: forall (m :: Type -> Type) a. MonadSTM m => StrictTBQueue m a -> STM m (Maybe a) Source #

peekTBQueue :: forall (m :: Type -> Type) a. MonadSTM m => StrictTBQueue m a -> STM m a Source #

tryPeekTBQueue :: forall (m :: Type -> Type) a. MonadSTM m => StrictTBQueue m a -> STM m (Maybe a) Source #

flushTBQueue :: forall (m :: Type -> Type) a. MonadSTM m => StrictTBQueue m a -> STM m [a] Source #

writeTBQueue :: forall (m :: Type -> Type) a. MonadSTM m => StrictTBQueue m a -> a -> STM m () Source #

lengthTBQueue :: forall (m :: Type -> Type) a. MonadSTM m => StrictTBQueue m a -> STM m Natural Source #

isEmptyTBQueue :: forall (m :: Type -> Type) a. MonadSTM m => StrictTBQueue m a -> STM m Bool Source #

isFullTBQueue :: forall (m :: Type -> Type) a. MonadSTM m => StrictTBQueue m a -> STM m Bool Source #

unGetTBQueue :: forall (m :: Type -> Type) a. MonadSTM m => StrictTBQueue m a -> a -> STM m () Source #

MonadLabelledSTM

labelTBQueue :: forall (m :: Type -> Type) a. MonadLabelledSTM m => StrictTBQueue m a -> String -> STM m () Source #

MonadTraceSTM

traceTBQueue :: forall (m :: Type -> Type) proxy a. MonadTraceSTM m => proxy m -> StrictTBQueue m a -> (Maybe [a] -> [a] -> InspectMonad m TraceValue) -> STM m () Source #