IOGatedOutputQueue
Расширение IOBasicOutputQueue.
Объект IOCommandGate создается этой очередью и добавляется к циклу работы как источник события. Все вызовы к цели потребительским потоком должны произойти с закрытым логическим элементом. Поэтому все вызовы к цели этого типа очереди будут сериализированы с любым другим потоком, работающим на том же контексте цикла работы. Это полезно для сетевых драйверов, имеющих трудные аппаратные средства, связывающиеся между передачей, и получающих механизмы, и однопоточная аппаратная модель доступа желательна.
Наследование
Не применимый
Соответствует
Не применимый
Оператор импорта
Не применимый
Objective C
@import Kernel;
Доступность
Доступный в OS X v10.0 и позже.
-
Освобождает объект IOGatedOutputQueue.
Объявление
C++
virtual void free();
Обсуждение
Высвободите выделенные средства, затем вызовите супер:: свободный ().
-
Инициализирует объект IOGatedOutputQueue.
Объявление
C++
virtual bool init( OSObject *
target
, IOOutputActionaction
, IOWorkLoop *workloop
, UInt32 capacity = 0, UInt32 priorities = 1);Параметры
target
Объект, который обработает пакеты, удаленные из очереди, и обычно является подклассом IONetworkController.
action
Функция, которая обработает пакеты, удаленные из очереди.
workloop
Объект workloop. Объект IOCommandGate создается и добавляется к этому workloop как источник события.
capacity
Начальная способность очереди вывода.
Возвращаемое значение
Возвращает true, если инициализировано успешно, ложь иначе.
-
Передачи все пакеты в mbuf очереди к цели.
Объявление
C++
virtual void output( IOMbufQueue *
queue
, UInt32 *state
);Параметры
queue
Очередь исходящих пакетов.
state
Возвратите бит состояния, определенный IOBasicOutputQueue, объявляющим новое состояние очереди после этого вызова метода. kStateStalled возвращается, если очередь должна остановиться, иначе 0 возвращается.
-
Переопределяет метод, наследованный от IOOutputQueue.
Объявление
C++
virtual bool scheduleServiceThread( void *
param
);Возвращаемое значение
Если поток, как успешно планировали, обслужит очередь, возвращает true.
-
Переопределяет метод, наследованный от IOOutputQueue.
Объявление
C++
virtual bool scheduleServiceThread( void *
param
);Возвращаемое значение
Если поток, как успешно планировали, обслужит очередь, возвращает true.
-
withTarget (IONetworkController *, IOWorkLoop *, UInt32) - withTarget (IONetworkController *, IOWorkLoop *, UInt32)
Метод фабрики, создающий и инициализирующий объект IOGatedOutputQueue.
Объявление
C++
static IOGatedOutputQueue * withTarget( IONetworkController *
target
, IOWorkLoop *workloop
, UInt32 capacity = 0);Параметры
target
Объект IONetworkController, который обработает пакеты, удаленные из очереди.
workloop
Объект workloop. Объект IOCommandGate создается и добавляется к этому workloop как источник события.
capacity
Начальная способность очереди вывода.
Возвращаемое значение
Возвращает объект IOGatedOutputQueue на успехе, или 0 иначе.
-
withTarget (IONetworkController *, IOWorkLoop *, UInt32, UInt32) - withTarget (IONetworkController *, IOWorkLoop *, UInt32, UInt32)
Метод фабрики, создающий и инициализирующий объект IOGatedOutputQueue.
Объявление
C++
static IOGatedOutputQueue * withTarget( IONetworkController *
target
, IOWorkLoop *workloop
, UInt32capacity
, UInt32priorities
);Параметры
target
Объект IONetworkController, который обработает пакеты, удаленные из очереди.
workloop
Объект workloop. Объект IOCommandGate создается и добавляется к этому workloop как источник события.
capacity
Начальная способность очереди вывода.
priorities
Число приоритетов трафика поддерживается
Возвращаемое значение
Возвращает объект IOGatedOutputQueue на успехе, или 0 иначе.
-
withTarget (OSObject *, IOOutputAction, IOWorkLoop *, UInt32) - withTarget (OSObject *, IOOutputAction, IOWorkLoop *, UInt32)
Метод фабрики, создающий и инициализирующий объект IOGatedOutputQueue.
Объявление
C++
static IOGatedOutputQueue * withTarget( OSObject *
target
, IOOutputActionaction
, IOWorkLoop *workloop
, UInt32 capacity = 0);Параметры
target
Объект, который обработает пакеты, удаленные из очереди.
action
Функция, которая обработает пакеты, удаленные из очереди.
workloop
Объект workloop. Объект IOCommandGate создается и добавляется к этому workloop как источник события.
capacity
Начальная способность очереди вывода.
Возвращаемое значение
Возвращает объект IOGatedOutputQueue на успехе, или 0 иначе.
-
withTarget (OSObject *, IOOutputAction, IOWorkLoop *, UInt32, UInt32) - withTarget (OSObject *, IOOutputAction, IOWorkLoop *, UInt32, UInt32)
Метод фабрики, создающий и инициализирующий объект IOGatedOutputQueue.
Объявление
C++
static IOGatedOutputQueue * withTarget( OSObject *
target
, IOOutputActionaction
, IOWorkLoop *workloop
, UInt32capacity
, UInt32priorities
);Параметры
target
Объект, который обработает пакеты, удаленные из очереди.
action
Функция, которая обработает пакеты, удаленные из очереди.
workloop
Объект workloop. Объект IOCommandGate создается и добавляется к этому workloop как источник события.
capacity
Начальная способность очереди вывода.
priorities
Число приоритетов трафика поддерживается
Возвращаемое значение
Возвращает объект IOGatedOutputQueue на успехе, или 0 иначе.