stm-io-hooks-0.5.4: An STM monad with IO hooksSource codeContentsIndex
Control.Concurrent.AdvSTM.TChan
Portabilitynon-portable (requires STM)
Stabilityexperimental
MaintainerPeter Robinson <robinson@ecs.tuwien.ac.at>
Description
Corresponds to Control.Concurrent.STM.TChan
Synopsis
data TChan a
newTChan :: MonadAdvSTM m => m (TChan a)
newTChanIO :: IO (TChan a)
readTChan :: MonadAdvSTM m => TChan a -> m a
writeTChan :: MonadAdvSTM m => TChan a -> a -> m ()
dupTChan :: MonadAdvSTM m => TChan a -> m (TChan a)
unGetTChan :: MonadAdvSTM m => TChan a -> a -> m ()
isEmptyTChan :: MonadAdvSTM m => TChan a -> m Bool
Documentation
data TChan a Source
TChan is an abstract type representing an unbounded FIFO channel.
newTChan :: MonadAdvSTM m => m (TChan a)Source
Build and returns a new instance of TChan
newTChanIO :: IO (TChan a)Source
IO version of newTChan. This is useful for creating top-level TChans using System.IO.Unsafe.unsafePerformIO, because using atomically inside System.IO.Unsafe.unsafePerformIO isn't possible.
readTChan :: MonadAdvSTM m => TChan a -> m aSource
Read the next value from the TChan.
writeTChan :: MonadAdvSTM m => TChan a -> a -> m ()Source
Write a value to a TChan.
dupTChan :: MonadAdvSTM m => TChan a -> m (TChan a)Source
Duplicate a TChan: the duplicate channel begins empty, but data written to either channel from then on will be available from both. Hence this creates a kind of broadcast channel, where data written by anyone is seen by everyone else.
unGetTChan :: MonadAdvSTM m => TChan a -> a -> m ()Source
Put a data item back onto a channel, where it will be the next item read.
isEmptyTChan :: MonadAdvSTM m => TChan a -> m BoolSource
Returns True if the supplied TChan is empty.
Produced by Haddock version 2.4.2