| Safe Haskell | Safe |
|---|---|
| Language | Haskell2010 |
Control.Concurrent.Chan.Extra
Documentation
class ChanScoped (c :: Scope -> * -> *) where #
Class for changing the access of a typed channel
Minimal complete definition
Methods
readOnly :: Readable scope => c scope a -> c Read a #
writeOnly :: Writable scope => c scope a -> c Write a #
allowReading :: Writable scope => c scope a -> c ReadWrite a #
allowWriting :: Readable scope => c scope a -> c ReadWrite a #
Instances
| ChanScoped ChanRW # | |
Defined in Control.Concurrent.Chan.Extra | |
| ChanScoped TChanRW # | |
Defined in Control.Concurrent.Chan.Extra | |
type DiffNanosec = Int #
class ChanExtra (inputC :: * -> *) (outputC :: * -> *) | inputC -> outputC, outputC -> inputC where #
Class for extra channel techniques
Minimal complete definition
Methods
Arguments
| :: DiffNanosec | Time to wait before attempting to send the message |
| -> outputC a | |
| -> IO (inputC a, Async ()) |
Throw away messages that meet the threshold
Arguments
| :: DiffNanosec | Time to wait before sending the message, for every message |
| -> outputC a | |
| -> IO (inputC a, Async ()) |
Refrain from relaying messages that meet the threshold
Arguments
| :: DiffNanosec | Time to at-least wait to intersperse messages |
| -> IO a | Get a message to intersperse |
| -> outputC a | |
| -> IO (inputC a, Async (), Async ()) |
Intercalate messages while threshold is met