chan-0.0.3: Some extra kit for Chans
Control.Concurrent.STM.TChan.Typed
newtype TChanRW (scope :: Scope) a Source #
Constructors
readOnly :: Readable scope => TChanRW scope a -> TChanRW Read a Source #
writeOnly :: Writable scope => TChanRW scope a -> TChanRW Write a Source #
allowReading :: Writable scope => TChanRW scope a -> TChanRW ReadWrite a Source #
allowWriting :: Readable scope => TChanRW scope a -> TChanRW ReadWrite a Source #
newTChanRW :: STM (TChanRW ReadWrite a) Source #
writeTChanRW :: Writable scope => TChanRW scope a -> a -> STM () Source #
unGetTChanRW :: Writable scope => TChanRW scope a -> a -> STM () Source #
isEmptyTChanRW :: Readable scope => TChanRW scope a -> STM Bool Source #
readTChanRW :: Readable scope => TChanRW scope a -> STM a Source #
tryReadTChanRW :: Readable scope => TChanRW scope a -> STM (Maybe a) Source #
peekTChanRW :: Readable scope => TChanRW scope a -> STM a Source #
tryPeekTChanRW :: Readable scope => TChanRW scope a -> STM (Maybe a) Source #
newBroadcastTChanRW :: STM (TChanRW Write a) Source #
dupTChanRW :: Writable scopeIn => Readable scopeOut => TChanRW scopeIn a -> STM (TChanRW scopeOut a) Source #
cloneTChanRW :: Writable scopeIn => Readable scopeOut => TChanRW scopeIn a -> STM (TChanRW scopeOut a) Source #