io-classes:strict-stm
Safe HaskellNone
LanguageHaskell2010

Control.Concurrent.Class.MonadSTM.Strict.TQueue

Description

This module corresponds to TQueue in "stm" package

Synopsis

MonadSTM

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

type LazyTQueue (m :: Type -> Type) = TQueue m Source #

fromLazyTQueue :: forall (m :: Type -> Type) a. LazyTQueue m a -> StrictTQueue m a Source #

castStrictTQueue :: forall (m :: Type -> Type) (n :: Type -> Type) a. LazyTQueue m ~ LazyTQueue n => StrictTQueue m a -> StrictTQueue n a Source #

newTQueue :: forall (m :: Type -> Type) a. MonadSTM m => STM m (StrictTQueue m a) Source #

readTQueue :: forall (m :: Type -> Type) a. MonadSTM m => StrictTQueue m a -> STM m a Source #

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

peekTQueue :: forall (m :: Type -> Type) a. MonadSTM m => StrictTQueue m a -> STM m a Source #

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

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

writeTQueue :: forall (m :: Type -> Type) a. MonadSTM m => StrictTQueue m a -> a -> STM m () Source #

unGetTQueue :: forall (m :: Type -> Type) a. MonadSTM m => StrictTQueue m a -> a -> STM m () Source #

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

MonadLabelledSTM

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

MonadTraceSTM

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

traceTQueueIO :: MonadTraceSTM m => StrictTQueue m a -> (Maybe [a] -> [a] -> InspectMonad m TraceValue) -> m () Source #