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 иначе.
