Safe Haskell | Safe |
---|---|
Language | Haskell2010 |
Simple compatability newtype wrappers to standard queues used in the Haskell wild.
Synopsis
- data JustOneEventually = JustOneEventually
- newtype ChanEQueue a = CEQ (Chan a)
- newtype TChanEQueue a = TCEQ (TChan a)
- newtype TQueueEQueue a = TQEQ (TQueue a)
- newtype IOEQueue a = IOEQ (a -> IO ())
Documentation
data JustOneEventually Source #
A policy for waiting until a single event can be gotten and returning just one. Since these standard queing options are fairly simple the don't allows more detailed policies abiding by EQueue's laws.
newtype ChanEQueue a Source #
A wrapper for EQueueing events into a Chan.
Instances
EQueueW ChanEQueue Source # | |
Defined in Control.Concurrent.EQueue.Simple type WaitPolicy ChanEQueue :: Type Source # waitEQ :: MonadIO m => ChanEQueue a -> WaitPolicy ChanEQueue -> m [a] Source # | |
EQueue ChanEQueue Source # | Can not unregister events |
Defined in Control.Concurrent.EQueue.Simple registerSemi :: (MonadIO m, Semigroup b) => ChanEQueue a -> (b -> a) -> m (b -> IO (), IO ()) Source # registerQueued :: MonadIO m => ChanEQueue a -> m (a -> IO (), IO ()) Source # | |
type WaitPolicy ChanEQueue Source # | |
Defined in Control.Concurrent.EQueue.Simple |
newtype TChanEQueue a Source #
A wrapper for EQueueing events into a TChan.
Instances
EQueueW TChanEQueue Source # | |
Defined in Control.Concurrent.EQueue.Simple type WaitPolicy TChanEQueue :: Type Source # waitEQ :: MonadIO m => TChanEQueue a -> WaitPolicy TChanEQueue -> m [a] Source # | |
EQueue TChanEQueue Source # | Can not unregister events |
Defined in Control.Concurrent.EQueue.Simple registerSemi :: (MonadIO m, Semigroup b) => TChanEQueue a -> (b -> a) -> m (b -> IO (), IO ()) Source # registerQueued :: MonadIO m => TChanEQueue a -> m (a -> IO (), IO ()) Source # | |
type WaitPolicy TChanEQueue Source # | |
Defined in Control.Concurrent.EQueue.Simple |
newtype TQueueEQueue a Source #
A wrapper for EQueueing events into a TQueue.
Instances
EQueueW TQueueEQueue Source # | |
Defined in Control.Concurrent.EQueue.Simple type WaitPolicy TQueueEQueue :: Type Source # waitEQ :: MonadIO m => TQueueEQueue a -> WaitPolicy TQueueEQueue -> m [a] Source # | |
EQueue TQueueEQueue Source # | Can not unregister events |
Defined in Control.Concurrent.EQueue.Simple registerSemi :: (MonadIO m, Semigroup b) => TQueueEQueue a -> (b -> a) -> m (b -> IO (), IO ()) Source # registerQueued :: MonadIO m => TQueueEQueue a -> m (a -> IO (), IO ()) Source # | |
type WaitPolicy TQueueEQueue Source # | |
Defined in Control.Concurrent.EQueue.Simple |
A wrapper for EQueueing events that we have an IO action to submit.