Copyright | (c) Tamar Christina 2018 |
---|---|
License | BSD-style (see the file libraries/base/LICENSE) |
Maintainer | libraries@haskell.org |
Stability | stable |
Portability | non-portable |
Safe Haskell | None |
Language | Haskell2010 |
Common Timer definitions shared between WinIO and RIO.
The API of this module is unstable and not meant to be consumed by the general public.
If you absolutely must depend on it, make sure to use a tight upper
bound, e.g., base < 4.X
rather than base < 5
, because the interface can
change rapidly without much warning.
Synopsis
- type TimeoutQueue = PSQ TimeoutCallback
- type TimeoutCallback = IO ()
- type TimeoutEdit = TimeoutQueue -> TimeoutQueue
- newtype TimeoutKey = TK Unique
Documentation
type TimeoutQueue = PSQ TimeoutCallback Source #
A priority search queue, with timeouts as priorities.
type TimeoutCallback = IO () Source #
Warning: since the TimeoutCallback
is called from the I/O manager, it must
not throw an exception or block for a long period of time. In particular,
be wary of throwTo
and killThread
:
if the target thread is making a foreign call, these functions will block
until the call completes.
type TimeoutEdit = TimeoutQueue -> TimeoutQueue Source #
An edit to apply to a TimeoutQueue
.
newtype TimeoutKey Source #
A timeout registration cookie.
TK Unique |
Instances
Eq TimeoutKey | |
Defined in GHC.Internal.Event.TimeOut (==) :: TimeoutKey -> TimeoutKey -> Bool Source # (/=) :: TimeoutKey -> TimeoutKey -> Bool Source # | |
Ord TimeoutKey | |
Defined in GHC.Internal.Event.TimeOut compare :: TimeoutKey -> TimeoutKey -> Ordering Source # (<) :: TimeoutKey -> TimeoutKey -> Bool Source # (<=) :: TimeoutKey -> TimeoutKey -> Bool Source # (>) :: TimeoutKey -> TimeoutKey -> Bool Source # (>=) :: TimeoutKey -> TimeoutKey -> Bool Source # max :: TimeoutKey -> TimeoutKey -> TimeoutKey Source # min :: TimeoutKey -> TimeoutKey -> TimeoutKey Source # |