GHC.Event
| Safe Haskell | Trustworthy |
|---|---|
| Language | Haskell2010 |
Описание
Этот модуль обеспечивает масштабируемое уведомление о событиях для файловых дескрипторов и таймаутов.
Этот модуль следует считать внутренним для GHC.
- ---------------------------------------------------------------------------
Типы
data EventManager Source
Состояние менеджера событий.
data TimerManager Source
Состояние менеджера событий.
Создание
getSystemEventManager :: IO (Maybe EventManager) Source
Получить системный менеджер событий для возможностей, на которых работает вызывающий поток.
Эта функция всегда возвращает Just менеджер событий текущего потока при использовании многопоточной RTS и Nothing в противном случае.
new :: IO EventManager Source
Создать новый менеджер событий.
getSystemTimerManager :: IO TimerManager Source
Регистрация интереса к событиям ввода-вывода
Событие ввода-вывода.
Экземпляры
Данные доступны для чтения.
Файловый дескриптор готов принять запись.
type IOCallback = FdKey -> Event -> IO () Source
Обратный вызов, вызываемый при событиях ввода-вывода.
Файловый дескриптор регистрирует cookie.
Примеры использования
| Eq FdKey | С момента: base-4.4.0.0 |
Определено в GHC.Event.Manager | |
| Show FdKey | С момента: base-4.4.0.0 |
Определено в GHC.Event.Manager МетодыshowsPrec :: Int -> FdKey -> ShowS Исходный код show :: FdKey -> String Исходный код showList :: [FdKey] -> ShowS Исходный код | |
data Срок жизни Исходный код
Срок действия регистрации события.
С момента: base-4.8.1.0
Конструкторы
| Один запуск | регистрация будет активной только для одного события |
| Многократный запуск | регистрация будет срабатывать несколько раз |
Примеры использования
| Eq Срок жизни | С момента: base-4.8.1.0 |
Определено в GHC.Event.Internal Методы(==) :: Срок жизни -> Срок жизни -> Bool Исходный код (/=) :: Срок жизни -> Срок жизни -> Bool Исходный код | |
| Show Срок жизни | С момента: base-4.8.1.0 |
Определено в GHC.Event.Internal МетодыshowsPrec :: Int -> Срок жизни -> ShowS Исходный код show :: Срок жизни -> String Исходный код showList :: [Срок жизни] -> ShowS Исходный код | |
| Полугруппа Срок жизни | С момента: base-4.10.0.0 |
Определено в GHC.Event.Internal Методы(<>) :: Срок жизни -> Срок жизни -> Срок жизни Исходный код sconcat :: NonEmpty Срок жизни -> Срок жизни Исходный код stimes :: Целое b => b -> Срок жизни -> Срок жизни Исходный код | |
| Моноид Срок жизни |
С момента: base-4.8.0.0 |
Определено в GHC.Event.Internal Методыmempty :: Срок жизни Исходный код mappend :: Срок жизни -> Срок жизни -> Срок жизни Исходный код mconcat :: [Срок жизни] -> Срок жизни Исходный код | |
registerFd :: EventManager -> IOCallback -> Fd -> Event -> Срок жизни -> IO FdKey Исходный код
registerFd mgr cb fd evs lt регистрирует интерес к событиям evs на дескрипторе файла fd на срок lt. cb вызывается для каждого события, которое происходит. Возвращает маркер, который может быть передан в unregisterFd.
unregisterFd :: EventManager -> FdKey -> IO () Исходный код
Удаление предыдущей регистрации дескриптора файла.
unregisterFd_ :: EventManager -> FdKey -> IO Bool Исходный код
Отключить предыдущую регистрацию дескриптора файла без пробуждения потока менеджера событий. Возвращаемое значение указывает, нужно ли будить менеджер событий.
closeFd :: EventManager -> (Fd -> IO ()) -> Fd -> IO () Source
Закрыть дескриптор файла безопасным способом при гонке.
Регистрация интереса к таймаутным событиям
type TimeoutCallback = IO () Source
Обратный вызов, вызываемый при таймаутных событиях.
data TimeoutKey Source
Ключ регистрации таймаута.
Примеры использования
| Eq TimeoutKey | С версии: base-4.7.0.0 |
Определено в GHC.Event.TimerManager Методы(==) :: TimeoutKey -> TimeoutKey -> Bool Source (/=) :: TimeoutKey -> TimeoutKey -> Bool Source | |
registerTimeout :: TimerManager -> Int -> TimeoutCallback -> IO TimeoutKey Source
Зарегистрировать таймаут на заданное количество микросекунд. Возвращённый TimeoutKey может быть использован для последующей отмены или обновления таймаута. Таймаут автоматически отменяется после истечения заданного времени.
updateTimeout :: TimerManager -> TimeoutKey -> Int -> IO () Source
Обновить активный таймаут для срабатывания через заданное количество микросекунд.
unregisterTimeout :: TimerManager -> TimeoutKey -> IO () Source
Отменить активный таймаут.
© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/8.10.2/docs/html/libraries/base-4.14.1.0/GHC-Event.html