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
- Наследование
- Производный
- Атрибуты
Комментарии
Маркер, представляющий регистрацию с 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 |
Возвращает класс среды выполнения этого |
| Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
| IsAcceptable |
Проверяет, готов ли канал этого ключа принять новое подключение сокета. |
| IsConnectable |
Проверяет, завершен ли канал этого ключа или не выполнен, операция подключения к сокету. |
| IsReadable |
Проверяет, готов ли канал этого ключа к чтению. |
| IsValid |
Указывает, является ли этот ключ допустимым. |
| IsWritable |
Проверяет, готов ли канал этого ключа к написанию. |
| JniIdentityHashCode |
Возвращает хэш-код удостоверения, назначенный этому Java одноранговой среде выполнения взаимодействия. (Унаследовано от Object) |
| JniManagedPeerState |
Маркер, представляющий регистрацию с |
| JniPeerMembers |
Маркер, представляющий регистрацию с |
| PeerReference |
Возвращает ссылку на объект JNI для этого Java однорангового узла. (Унаследовано от Object) |
| ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
| ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
Методы
| Имя | Описание |
|---|---|
| Attach(Object) |
Присоединяет заданный объект к этому ключу. |
| Attachment() |
Извлекает текущее вложение. |
| Cancel() |
Запрашивает отмену регистрации канала этого ключа с его селектором. |
| Channel() |
Возвращает канал, для которого был создан этот ключ. |
| Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Маркер, представляющий регистрацию с |
| Dispose() |
Освобождает ресурсы, удерживаемые этим Java одноранговым узлом. (Унаследовано от Object) |
| Dispose(Boolean) |
Освобождает ресурсы, удерживаемые этим Java одноранговым узлом. (Унаследовано от Object) |
| DisposeUnlessReferenced() |
Маркер, представляющий регистрацию с |
| Equals(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) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Маркер, представляющий регистрацию с |
| ToArray<T>() |
Создает управляемый массив из этого Java оболочки массива. (Унаследовано от Object) |
| ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
| UnregisterFromRuntime() |
Отменяет регистрацию этого Java однорангового узла из среды выполнения взаимодействия. (Унаследовано от Object) |
| Wait() |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, путем <><уведомления/>em или <эм>прерванного</em.> (Унаследовано от Object) |
| Wait(Int64, Int32) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
| Wait(Int64) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прерваны< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Явные реализации интерфейса
| Имя | Описание |
|---|---|
| IJavaPeerable.Disposed() |
Маркер, представляющий регистрацию с |
| IJavaPeerable.Finalized() |
Маркер, представляющий регистрацию с |
| IJavaPeerable.JniObjectReferenceControlBlock |
Маркер, представляющий регистрацию с |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Маркер, представляющий регистрацию с |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Маркер, представляющий регистрацию с |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Маркер, представляющий регистрацию с |
Методы расширения
| Имя | Описание |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Возвращает имя JNI типа экземпляра |
| JavaAs<TResult>(IJavaPeerable) |
Попробуйте принуждать к типу |
| JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
| JavaCast<TResult>(IJavaObject) |
Маркер, представляющий регистрацию с |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Попробуйте принуждать к типу |