SelectionKey Класс

Определение

Маркер, представляющий регистрацию с SelectableChannel помощью a 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 помощью a Selector.

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

"opsets">

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

<Ул>

<li>

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

</li>

<li>

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

</li>

</ul>

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

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

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

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

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

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

Части этой страницы — это изменения на основе работы, созданной и общей Project и используемых в соответствии с условиями, описанными в разделе "".

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

Имя Описание
SelectionKey()

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

SelectionKey(IntPtr, JniHandleOwnership)

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

Поля

Имя Описание
OpAccept
Устаревшие.

Бит набора операций для операций с приемом сокета.

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

Бит задания операции для операций сокет-подключения.

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

Бит операции чтения.

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

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

Свойства

Имя Описание
Class

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

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

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

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

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

IsConnectable

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

IsReadable

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

IsValid

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

IsWritable

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

JniIdentityHashCode

Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия.

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

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

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

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

PeerReference

Возвращает ссылку на объект JNI для этого Java однорангового узла.

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

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

ThresholdType

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

Методы

Имя Описание
Attach(Object)

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

Attachment()

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

Cancel()

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

Channel()

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

Clone()

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

(Унаследовано от Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

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

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

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

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

Освобождает ресурсы, удерживаемые этим Java одноранговым узлом.

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

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

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

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

(Унаследовано от JavaObject)
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)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

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

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

Создает управляемый массив из этого Java оболочки массива.

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

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

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

Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия.

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

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, путем <><уведомления/>em или <эм>прерванного</em.>

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

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

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

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени.

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

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

Имя Описание
IJavaPeerable.Disposed()

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

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

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

(Унаследовано от JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

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

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

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

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

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

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

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

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

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

Имя Описание
GetJniTypeName(IJavaPeerable)

Возвращает имя JNI типа экземпляра self.

JavaAs<TResult>(IJavaPeerable)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

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

TryJavaCast<TResult>(IJavaPeerable, TResult)

Попробуйте принуждать к типуself, проверяяTResult, является ли приведение допустимым на стороне Java.

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