GHC.Event.TimeOut

base-4.16.0.0: Basic libraries

Copyright | (c) Tamar Christina 2018
License | BSD-style (see the file libraries/base/LICENSE)
Maintainer | libraries@haskell.org
Stability | experimental
Portability | non-portable
Safe Haskell | Safe-Inferred
Language | Haskell2010

GHC.Event.TimeOut

Description

Common Timer definitions shared between WinIO and RIO.

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.

Constructors

TK Unique |

#### Instances

Instances details

Eq TimeoutKey # |
Instance details Defined in GHC.Event.TimeOut Methods (==) :: TimeoutKey -> TimeoutKey -> Bool Source # (/=) :: TimeoutKey -> TimeoutKey -> Bool Source #
Ord TimeoutKey # |
Instance details Defined in GHC.Event.TimeOut Methods 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 #