Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ссылка класса IOTimerEventSource

Опции
Развертывание Target:

На этой странице
Язык:

IOTimerEventSource

Время базировало механизм источника события.

Источник события, реализующий простой таймер. Обработчик тайм-аута вызывают, как только истекает период тайм-аута. Этот обработчик тайм-аута вызовет цикл работы, к которому присоединен этот источник события.

Обычно источник события таймера будет использоваться для реализации тайм-аута. В целом, когда драйвер выполняет запрос, он должен будет установить вызов для отслеживания то, когда не завершится I/O. Этот класс разработан для создания этого несколько проще.

Помните, что система не гарантирует точности выноски. Возможно, что более высокий приоритетный поток работает, который задержит выполнение подпрограммы действия. Фактически поток будет сделан выполнимым в точное требуемое время в точности декрементора CPU's базируемое прерывание, но планировщик будет тогда управлять выполнением.

Наследование


Не применимый

Соответствует


Не применимый

Оператор импорта


Не применимый

Objective C

@import Kernel;

Доступность


Доступный в OS X v10.0 и позже.
  • Отключите любые выдающиеся вызовы к этому источнику события.

    Объявление

    C++

    virtual void cancelTimeout();

    Обсуждение

    Очистите вниз любые вызовы oustanding. К тому времени, когда эта функция завершается, гарантируется, что действие не вызовут снова.

  • Отключите синхронизированную выноску.

    Объявление

    C++

    virtual void disable();

    Обсуждение

    То, когда отключат возвраты, действие не вызовут до следующего раза включают (qv), вызывают.

  • Включает вызов к действию.

    Объявление

    C++

    virtual void enable();

    Обсуждение

    Позволяет функции действия быть вызванной. Если источник события таймера был отключен, в то время как вызов был выдающимся, и вызов не был отменен тогда, это будет перепланироваться. Таким образом, отключить/разрешить пара отключит вызовы от этого источника события.

  • Реализация подкласса свободного метода, освобождает calloutEntry

    Объявление

    C++

    virtual void free();

  • Когда тайм-аут истекает, инициализирует таймер с владельцем и обработчик для вызова.

    Объявление

    C++

    virtual bool init( OSObject *owner, Action action = 0);

    Параметры

    owner
    action
  • Установите обратный вызов в после задержки галочек декрементора. См. wakeAtTime (AbsoluteTime).

    Объявление

    C++

    virtual IOReturn setTimeout( AbsoluteTimeinterval);

    Параметры

    interval

    Задержка с этого времени для пробуждения в галочках декрементора.

    Возвращаемое значение

    kIOReturnSuccess, если все прекрасно, kIOReturnNoResources, если не было объявлено действие.

  • Установите обратный вызов в после задержки некоторого модуля. См. wakeAtTime (AbsoluteTime).

    Объявление

    C++

    virtual IOReturn setTimeout( UInt32interval, UInt32 scale_factor = scale_factor);

    Параметры

    interval

    Задержка с этого времени для пробуждения в некотором определенном модуле.

    scale_factor

    Определите модуль интервала, значения по умолчанию к наносекундам.

    Возвращаемое значение

    kIOReturnSuccess, если все прекрасно, kIOReturnNoResources, если не было объявлено действие.

  • Тайм-аут набора как функция calloutEntry.

    Объявление

    C++

    virtual void setTimeoutFunc();

    Обсуждение

    IOTimerEventSource в настоящее время основан на kern/thread_call.h APIs. Эта функция выделяет calloutEntry задействованную переменную при помощи thread_call_allocate (тайм-аут, это). Если необходимо записать собственный подкласс IOTimerEventSource, вероятно, необходимо переопределить этот метод для выделения записи, указывающей на собственную подпрограмму тайм-аута.

  • Установите обратный вызов в после задержки миллисекунд. См. wakeAtTime (AbsoluteTime).

    Объявление

    C++

    virtual IOReturn setTimeoutMS( UInt32interval);

    Параметры

    interval

    Задержка с этого времени для пробуждения, время в миллисекундах.

    Возвращаемое значение

    kIOReturnSuccess, если все прекрасно, kIOReturnNoResources, если не было объявлено действие.

  • Установите обратный вызов в после задержки галочек планировщика. См. wakeAtTime (AbsoluteTime).

    Объявление

    C++

    virtual IOReturn setTimeoutTicks( UInt32interval);

    Параметры

    interval

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

    Возвращаемое значение

    kIOReturnSuccess, если все прекрасно, kIOReturnNoResources, если не было объявлено действие.

  • Установите обратный вызов в после задержки в микросекундах. См. wakeAtTime (AbsoluteTime).

    Объявление

    C++

    virtual IOReturn setTimeoutUS( UInt32interval);

    Параметры

    interval

    Задержка с этого времени для пробуждения, время в микросекундах.

    Возвращаемое значение

    kIOReturnSuccess, если все прекрасно, kIOReturnNoResources, если не было объявлено действие.

  • Функция, направляющая вызов от механизма тайм-аута OS' в контекст цикла работы.

    Объявление

    C++

    static void timeout( void *self);

    Параметры

    self

    Этот параметр будет брошен в IOTimerEventSource.

    Обсуждение

    тайм-аут не будет обычно вызывать, ни переопределять подкласс. Если источник события включен тогда близко логический элемент цикла работы, и вызовите подпрограмму действия.

  • Выделяет и возвращает инициализированный экземпляр таймера.

    Объявление

    C++

    static IOTimerEventSource * timerEventSource( OSObject *owner, Action action = 0);

    Параметры

    owner
    action
  • Установите обратный вызов в это абсолютное время.

    Объявление

    C++

    virtual IOReturn wakeAtTime( AbsoluteTimeabstime);

    Параметры

    abstime

    Абсолютное Время, когда проснуться, считаемый в 'decrementer' модулях и запускается в нуле когда начальные загрузки системы.

    Возвращаемое значение

    kIOReturnSuccess, если все прекрасно, kIOReturnNoResources, если действие не было объявлено init или IOEventSource:: setAction (qqv).

    Обсуждение

    Запускает таймер, который истечет в abstime. После того, как это истечет, таймер вызовет 'действие', зарегистрированное в init () функция. Этот таймер не является периодическим, дальнейший вызов необходим, чтобы сбросить и перезапустить таймер после того, как это истекает.

  • Установите обратный вызов в это абсолютное время. См. wakeAtTime (AbsoluteTime).

    Объявление

    C++

    virtual IOReturn wakeAtTime( UInt32abstime, UInt32 scale_factor = scale_factor);

    Параметры

    abstime

    Время для пробуждения в некотором модуле.

    scale_factor

    Определите модуль abstime, значения по умолчанию к наносекундам.

    Возвращаемое значение

    kIOReturnSuccess, если все прекрасно, kIOReturnNoResources, если не было объявлено действие.

  • Установите обратный вызов в это абсолютное время. См. wakeAtTime (AbsoluteTime).

    Объявление

    C++

    virtual IOReturn wakeAtTimeMS( UInt32abstime);

    Параметры

    abstime

    Время для пробуждения в миллисекундах.

    Возвращаемое значение

    kIOReturnSuccess, если все прекрасно, kIOReturnNoResources, если не было объявлено действие.

  • Установите обратный вызов в это абсолютное время. См. wakeAtTime (AbsoluteTime).

    Объявление

    C++

    virtual IOReturn wakeAtTimeTicks( UInt32abstime);

    Параметры

    abstime

    Время для пробуждения в квантах планировщика независимо от того, что это?

    Возвращаемое значение

    kIOReturnSuccess, если все прекрасно, kIOReturnNoResources, если не было объявлено действие.

  • Установите обратный вызов в это абсолютное время. См. wakeAtTime (AbsoluteTime).

    Объявление

    C++

    virtual IOReturn wakeAtTimeUS( UInt32abstime);

    Параметры

    abstime

    Время для пробуждения в микросекундах.

    Возвращаемое значение

    kIOReturnSuccess, если все прекрасно, kIOReturnNoResources, если не было объявлено действие.

Обратные вызовы

  • Объявление

    C++

    typedef void ( *Action)( OSObject *owner, IOTimerEventSource *sender);

    Параметры

    owner

    Владение целевым объектом. Примечание по потрясающему совпадению первый параметр в выноске C в настоящее время используется для определения цели функции членства C++.

    sender

    Испытавший таймаут объект.

    Обсуждение

    'C' Указатель функции, определяющий подпрограмму выноски этого источника события.

    Оператор импорта

    Objective C

    #include <IOCommandGate.h>;

    Доступность

    Доступный в OS X v10.0 через OS X v10.5.

Типы данных

  • Объявление

    C++

    struct ExpansionData { SInt32 calloutGeneration; IOWorkLoop *workLoop; };

    Обсуждение

    Эта структура является частной к реализации IOTimerEventSource.

Переменные экземпляра

  • Зарезервированный для будущего использования. (Только внутреннее использование)

    Объявление

    C++

    ExpansionData *reserved;

  • запись thread_call для предзарегистрированных выносок потока

    Объявление

    C++

    void *calloutEntry;

  • время для пробуждения затем посмотрите, включают.

    Объявление

    C++

    AbsoluteTime abstime;