SelectionKey Класс

Определение

Токен, представляющий регистрацию SelectableChannel с помощью Selector.

[Android.Runtime.Register("java/nio/channels/SelectionKey", DoNotGenerateAcw=true)]
public abstract class SelectionKey : Java.Lang.Object
[<Android.Runtime.Register("java/nio/channels/SelectionKey", DoNotGenerateAcw=true)>]
type SelectionKey = class
    inherit Object
Наследование
SelectionKey
Производный
Атрибуты

Комментарии

Токен, представляющий регистрацию SelectableChannel с помощью Selector.

Ключ выбора создается каждый раз, когда канал регистрируется с помощью селектора. Ключ остается действительным до тех пор, пока он не будет отменен путем вызова его #cancel cancel метода, закрытия канала или закрытия его селектора. Отмена ключа не приводит к немедленному удалению ключа из селектора; Вместо этого он добавляется в набор<> i отмененных ключей селектора <>для удаления во время следующей операции выбора. Допустимость ключа может быть проверена путем вызова его #isValid isValid метода .

"opsets">

Ключ выбора содержит два набора операций , представленных в виде целочисленных значений. Каждый бит набора операций обозначает категорию доступных для выбора операций, поддерживаемых каналом ключа.

<ul>

<Литий>

Набор процентов определяет, какие категории операций будут проверяться на готовность при следующем вызове одного из методов выбора селектора. Набор процентов инициализируется значением, заданным при создании ключа; позже его можно изменить с помощью #interestOps(int) метода .

</Литий>

<Литий>

Готовый набор определяет категории операций, для которых канал ключа был обнаружен как готовый с помощью селектора ключа. Готовый набор инициализируется равным нулю при создании ключа; Позже он может быть обновлен селектором во время операции выбора, но не может быть обновлен напрямую.

</Литий>

</ul>

То, что готовый набор ключа выбора указывает, что его канал готов к определенной категории операций, является указанием, но не гарантией того, что операция в такой категории может быть выполнена потоком без блокировки потока. Готовый набор, скорее всего, будет точным сразу после завершения операции выбора. Скорее всего, внешние события и операции ввода-вывода, вызываемые в соответствующем канале, могут быть сделаны неточными.

Этот класс определяет все известные биты набора операций, но именно то, какие биты поддерживаются данным каналом, зависит от типа канала. Каждый подкласс SelectableChannel определяет SelectableChannel#validOps() validOps() метод, который возвращает набор, определяющий только те операции, которые поддерживаются каналом. Попытка задать или проверить бит набора операций, который не поддерживается каналом ключа, приведет к соответствующему исключению во время выполнения.

Часто требуется связать некоторые данные конкретного приложения с ключом выбора, например объект, который представляет состояние протокола более высокого уровня и обрабатывает уведомления о готовности для реализации этого протокола. Поэтому ключи выбора поддерживают вложение одного произвольного объекта в ключ. Объект можно присоединить с помощью метода , #attach attach а затем получить с помощью #attachment() attachment метода .

Ключи выбора безопасны для использования несколькими параллельными потоками. Операция выбора всегда будет использовать значение набора процентов, которое было текущим на момент начала операции.

Добавлено в версии 1.4.

Документация по Java для java.nio.channels.SelectionKey.

Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом Android и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License.

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

SelectionKey()

Создает экземпляр этого класса.

SelectionKey(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

Поля

OpAccept
Устаревшие..

Разрядная установка операций для операций приема сокетов.

OpConnect
Устаревшие..

Разрядная установка операций для операций подключения сокетов.

OpRead
Устаревшие..

Бит, заданный операцией для операций чтения.

OpWrite
Устаревшие..

Бит, заданный операцией для операций записи.

Свойства

Class

Возвращает класс среды выполнения данного объекта Object.

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
IsAcceptable

Проверяет, готов ли канал этого ключа принять новое подключение сокета.

IsConnectable

Проверяет, завершена ли операция подключения сокета в канале этого ключа или завершилась сбоем.

IsReadable

Проверяет, готов ли канал этого ключа к чтению.

IsValid

Указывает, является ли этот ключ допустимым.

IsWritable

Проверяет, готов ли канал этого ключа к записи.

JniIdentityHashCode

Токен, представляющий регистрацию SelectableChannel с помощью Selector.

(Унаследовано от Object)
JniPeerMembers

Токен, представляющий регистрацию SelectableChannel с помощью Selector.

PeerReference

Токен, представляющий регистрацию SelectableChannel с помощью Selector.

(Унаследовано от Object)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

Методы

Attach(Object)

Присоединяет заданный объект к этому ключу.

Attachment()

Извлекает текущее вложение.

Cancel()

Запрашивает отмену регистрации канала этого ключа с его селектором.

Channel()

Возвращает канал, для которого был создан этот ключ.

Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
Dispose()

Токен, представляющий регистрацию SelectableChannel с помощью Selector.

(Унаследовано от Object)
Dispose(Boolean)

Токен, представляющий регистрацию SelectableChannel с помощью Selector.

(Унаследовано от Object)
Equals(Object)

Указывает, равен ли какой-то другой объект этому объекту.

(Унаследовано от Object)
GetHashCode()

Возвращает значение хэш-кода для объекта.

(Унаследовано от Object)
InterestOps()

Извлекает набор процентов этого ключа.

InterestOps(Operations)

Извлекает набор процентов этого ключа.

InterestOpsAnd(Int32)

Атомарным образом задает для этого ключа значение битового пересечения ("и") существующего набора процентов и заданного значения.

InterestOpsOr(Int32)

Атомарным образом задает набор интересов этого ключа в побитовое объединение ("или") существующего набора процентов и заданное значение.

JavaFinalize()

Вызывается сборщиком мусора для объекта , когда сборка мусора определяет, что больше нет ссылок на объект .

(Унаследовано от Object)
Notify()

Пробуждает один поток, ожидающий монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Пробуждает все потоки, ожидающие на мониторе этого объекта.

(Унаследовано от Object)
ReadyOps()

Извлекает готовый набор этого ключа.

Selector()

Возвращает селектор, для которого был создан этот ключ.

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
ToArray<T>()

Токен, представляющий регистрацию SelectableChannel с помощью Selector.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterFromRuntime()

Токен, представляющий регистрацию SelectableChannel с помощью Selector.

(Унаследовано от Object)
Wait()

Вызывает ожидание текущего потока, пока он не пробудится, как правило, из-за <уведомления><<> или>прерывания или прерывания.><

(Унаследовано от Object)
Wait(Int64)

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

(Унаследовано от Object)
Wait(Int64, Int32)

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

(Унаследовано от Object)

Явные реализации интерфейса

IJavaPeerable.Disposed()

Токен, представляющий регистрацию SelectableChannel с помощью Selector.

(Унаследовано от Object)
IJavaPeerable.DisposeUnlessReferenced()

Токен, представляющий регистрацию SelectableChannel с помощью Selector.

(Унаследовано от Object)
IJavaPeerable.Finalized()

Токен, представляющий регистрацию SelectableChannel с помощью Selector.

(Унаследовано от Object)
IJavaPeerable.JniManagedPeerState

Токен, представляющий регистрацию SelectableChannel с помощью Selector.

(Унаследовано от Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Токен, представляющий регистрацию SelectableChannel с помощью Selector.

(Унаследовано от Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Токен, представляющий регистрацию SelectableChannel с помощью Selector.

(Унаследовано от Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Токен, представляющий регистрацию SelectableChannel с помощью Selector.

(Унаследовано от Object)

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверенного средой выполнения Android.

JavaCast<TResult>(IJavaObject)

Токен, представляющий регистрацию SelectableChannel с помощью Selector.

GetJniTypeName(IJavaPeerable)

Токен, представляющий регистрацию SelectableChannel с помощью Selector.

Применяется к