Spec-Zone.ru › Haskell 9

GHC.Event

Безопасный Haskell Безопасный
Язык Haskell2010

Содержание

  • Типы
  • Создание
  • Регистрация интереса к событиям ввода-вывода
  • Регистрация интереса к событиям тайм-аута

Описание

Этот модуль предоставляет масштабируемое уведомление о событиях для файловых дескрипторов и тайм-аутов.

Этот модуль следует считать внутренним модулем GHC.

  • ---------------------------------------------------------------------------

Типы

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

Состояние диспетчера событий.

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

Состояние диспетчера событий.

Создание

getSystemEventManager :: IO (Maybe EventManager) Исходный код

Получает системный диспетчер событий для capability, в которой выполняется вызывающий поток.

Эта функция всегда возвращает Just диспетчер событий текущего потока при использовании многопоточной RTS и Nothing в противном случае.

new :: IO EventManager Исходный код

Создаёт новый диспетчер событий.

getSystemTimerManager :: IO TimerManager Исходный код

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

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

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

Экземпляры
Сведения об экземплярах
Monoid Event Исходный код

Начиная с: base-4.4.0.0

Сведения об экземпляре

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

Методы

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

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

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

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

Начиная с: base-4.10.0.0

Сведения об экземпляре

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

Методы

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

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

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

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

Начиная с: base-4.4.0.0

Сведения об экземпляре

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

Методы

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

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

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

Начиная с: base-4.4.0.0

Сведения об экземпляре

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

Методы

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

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

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

evtRead :: Event Исходный код

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

evtWrite :: Event Исходный код

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

type IOCallback = FdKey -> Event -> IO () Исходный код

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

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

Идентификатор регистрации файлового дескриптора.

Экземпляры
Сведения об экземплярах
Eq FdKey Исходный код

Начиная с: base-4.4.0.0

Сведения об экземпляре

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

Методы

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

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

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

Начиная с: base-4.4.0.0

Сведения об экземпляре

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

Методы

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

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

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

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

Срок действия регистрации события.

Начиная с: 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 Исходный код

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

Начиная с: base-4.8.1.0

Сведения об экземпляре

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

Методы

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

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

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

Начиная с: base-4.8.1.0

Сведения об экземпляре

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

Методы

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

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

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

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 вызывается диспетчером ввода-вывода, он не должен выбрасывать исключение или надолго блокироваться. В частности, следует проявлять осторожность с throwTo и killThread: если целевой поток выполняет foreign-вызов, эти функции будут блокироваться до его завершения.

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

Идентификатор регистрации тайм-аута.

Экземпляры
Сведения об экземплярах
Eq TimeoutKey Исходный код
Сведения об экземпляре

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

Методы

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

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

Ord TimeoutKey Исходный код
Сведения об экземпляре

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

Методы

compare :: TimeoutKey -> TimeoutKey -> Ordering Исходный код

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

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

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

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

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

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

registerTimeout :: TimerManager -> Int -> TimeoutCallback -> IO TimeoutKey Исходный код

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

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

updateTimeout :: TimerManager -> TimeoutKey -> Int -> IO () Исходный код

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

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

unregisterTimeout :: TimerManager -> 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.14.1/docs/libraries/base-4.22.0.0-66f8/GHC-Event.html

Spec-Zone.ru

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