Spec-Zone.ru › Haskell 9

GHC.Событие

Safe Haskell Safe
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

Регистрация интереса к событиям ввода-вывода

data Event Source

Событие ввода-вывода.

Экземпляры
Подробности о экземплярах
Monoid Event Source

Since: base-4.4.0.0

Подробности о экземпляре

Определено в GHC.Internal.Event.Internal.Types

Методы

mempty :: Event Source

mappend :: Event -> Event -> Event Source

mconcat :: [Event] -> Event Source

Semigroup Event Source

Since: base-4.10.0.0

Подробности о экземпляре

Определено в GHC.Internal.Event.Internal.Types

Методы

(<>) :: Event -> Event -> Event Source

sconcat :: NonEmpty Event -> Event Source

stimes :: Integral b => b -> Event -> Event Source

Show Event Source

Since: base-4.4.0.0

Подробности о экземпляре

Определено в GHC.Internal.Event.Internal.Types

Методы

showsPrec :: Int -> Event -> ShowS Source

show :: Event -> String Source

showList :: [Event] -> ShowS Source

Eq Event Source

Since: base-4.4.0.0

Подробности о экземпляре

Определено в GHC.Internal.Event.Internal.Types

Методы

(==) :: Event -> Event -> Bool Source

(/=) :: Event -> Event -> Bool Source

evtRead :: Event Source

Данные доступны для чтения.

evtWrite :: Event Source

Файловый дескриптор готов принять запись.

type IOCallback = FdKey -> Event -> IO () Source

Обратный вызов, вызываемый при событиях ввода-вывода.

data FdKey Source

Регистрационный куки файла-дескриптора.

Примеры
Подробности примеров
Show FdKey Источник

С момента: base-4.4.0.0

Подробности примера

Определено в GHC.Internal.Event.Manager

Методы

showsPrec :: Int -> FdKey -> ShowS Источник

show :: FdKey -> String Источник

showList :: [FdKey] -> ShowS Источник

Eq FdKey Источник

С момента: base-4.4.0.0

Подробности примера

Определено в GHC.Internal.Event.Manager

Методы

(==) :: FdKey -> FdKey -> Bool Источник

(/=) :: FdKey -> FdKey -> Bool Источник

data Срок жизни Источник

Срок жизни регистрации события.

С момента: base-4.8.1.0

Конструкторы

OneShot

регистрация будет активна только для одного события

MultiShot

регистрация будет срабатывать несколько раз

Примеры
Подробности примеров
Monoid Lifetime Исходный код

mappend выбирает более длительный срок действия.

С момента: base-4.8.0.0

Подробности экземпляра

Определено в GHC.Internal.Event.Internal.Types

Методы

mempty :: Lifetime Исходный код

mappend :: Lifetime -> Lifetime -> Lifetime Исходный код

mconcat :: [Lifetime] -> Lifetime Исходный код

Semigroup Lifetime Исходный код

С момента: base-4.10.0.0

Подробности экземпляра

Определено в GHC.Internal.Event.Internal.Types

Методы

(<>) :: Lifetime -> Lifetime -> Lifetime Исходный код

sconcat :: NonEmpty Lifetime -> Lifetime Исходный код

stimes :: Integral b => b -> Lifetime -> Lifetime Исходный код

Show Lifetime Исходный код

С момента: base-4.8.1.0

Подробности экземпляра

Определено в GHC.Internal.Event.Internal.Types

Методы

showsPrec :: Int -> Lifetime -> ShowS Исходный код

show :: Lifetime -> String Исходный код

showList :: [Lifetime] -> ShowS Исходный код

Eq Lifetime Исходный код

С момента: base-4.8.1.0

Подробности экземпляра

Определено в GHC.Internal.Event.Internal.Types

Методы

(==) :: Lifetime -> Lifetime -> Bool Исходный код

(/=) :: Lifetime -> Lifetime -> Bool Исходный код

registerFd :: EventManager -> IOCallback -> Fd -> Event -> Lifetime -> 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 () Исходный код

Закрытие дескриптора файла в безопасном отношении гонок. Может заблокироваться, хотя и на очень короткое время; поэтому его можно прервать асинхронными исключениями.

Регистрация интереса к событиям таймаута

type TimeoutCallback = IO () Исходный код

Предупреждение: так как TimeoutCallback вызывается менеджером I/O, он не должен генерировать исключение или блокироваться на длительный период времени. В частности, будьте осторожны с throwTo и killThread: если целевой поток выполняет внешний вызов, эти функции будут заблокированы до завершения вызова.

data TimeoutKey Исходный код

Куки для регистрации таймаута.

Примеры использования
Подробности примеров использования
Eq TimeoutKey Исходный код
Подробности примера

Определено в GHC.Internal.Event.TimeOut

Методы

равно :: TimeoutKey -> TimeoutKey -> Булево Исходный код

не равно :: TimeoutKey -> TimeoutKey -> Булево Исходный код

Ord TimeoutKey Исходный код
Подробности примера

Определено в GHC.Internal.Event.TimeOut

Методы

сравнить :: TimeoutKey -> TimeoutKey -> Порядок Исходный код

< :: TimeoutKey -> TimeoutKey -> Булево Исходный код

<= :: TimeoutKey -> TimeoutKey -> Булево Исходный код

> :: TimeoutKey -> TimeoutKey -> Булево Исходный код

>= :: TimeoutKey -> TimeoutKey -> Булево Исходный код

макс :: TimeoutKey -> TimeoutKey -> TimeoutKey Исходный код

мин :: TimeoutKey -> TimeoutKey -> TimeoutKey Исходный код

регистрацияТаймаута :: ДиспетчерТаймеров -> Целое -> ОбработчикТаймаута -> IO TimeoutKey Исходный код

Регистрирует таймаут на заданное число микросекунд. Возвращаемый TimeoutKey может быть использован для последующей отмены или обновления таймаута. Таймаут автоматически отменяется после истечения заданного времени.

Будьте внимательны, чтобы не превысить maxBound :: Int, что на 32-битных машинах составляет всего 2147483647 мкс, меньше чем 36 минут.

обновитьТаймаут :: ДиспетчерТаймеров -> TimeoutKey -> Целое -> IO () Исходный код

Обновляет активный таймаут, чтобы он сработал через заданное число микросекунд.

Будьте внимательны, чтобы не превысить maxBound :: Int, что на 32-битных машинах составляет всего 2147483647 мкс, меньше чем 36 минут.

отменитьТаймаут :: ДиспетчерТаймеров -> TimeoutKey -> IO () Исходный код

Отменяет активный таймаут.

© The University of Glasgow and others
Licensed under a BSD-style license (see top of the page).
https://downloads.haskell.org/~ghc/9.12.1/docs/libraries/base-4.21.0.0-8e62/GHC-Event.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API