SelectionKey Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Token que representa el registro de con SelectableChannel un 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
- Herencia
- Derivado
- Atributos
Comentarios
Token que representa el registro de con SelectableChannel un Selector.
Cada vez que se registra un canal con un selector, se crea una clave de selección. Una clave permanece válida hasta que se cancela invocando su #cancel cancel método, cerrando su canal o cerrando su selector. La cancelación de una clave no la quita inmediatamente de su selector; en su lugar se agrega al conjunto< de claves cancelada/i> del <>selector para la eliminación durante la siguiente operación de selección. La validez de una clave se puede probar invocando su #isValid isValid método.
"opsets">
Una clave de selección contiene dos conjuntos de operaciones representados como valores enteros. Cada bit de un conjunto de operaciones denota una categoría de operaciones seleccionables compatibles con el canal de la clave.
<ul>
<li>
El conjunto de intereses determina qué categorías de operación se probarán para la preparación la próxima vez que se invoque uno de los métodos de selección del selector. El conjunto de intereses se inicializa con el valor especificado cuando se crea la clave; más adelante se puede cambiar a través del #interestOps(int) método .
</li>
<li>
El conjunto listo identifica las categorías de operación para las que el selector de la clave ha detectado que el canal de la clave está listo. El conjunto listo se inicializa en cero cuando se crea la clave; el selector puede actualizarlo más adelante durante una operación de selección, pero no se puede actualizar directamente.
</li>
</ul>
Que el conjunto listo de una clave de selección indica que su canal está listo para alguna categoría de operación es una sugerencia, pero no una garantía, de que una operación de dicha categoría puede realizarse por un subproceso sin hacer que el subproceso se bloquee. Es más probable que un conjunto listo sea preciso inmediatamente después de la finalización de una operación de selección. Es probable que los eventos externos y las operaciones de E/S que se invocan en el canal correspondiente sean inexactos.
Esta clase define todos los bits conocidos del conjunto de operaciones, pero precisamente qué bits son compatibles con un canal determinado depende del tipo del canal. Cada subclase de SelectableChannel define un SelectableChannel#validOps() validOps() método que devuelve un conjunto que identifica solo las operaciones admitidas por el canal. Un intento de establecer o probar un bit de conjunto de operaciones que no es compatible con el canal de una clave dará lugar a una excepción en tiempo de ejecución adecuada.
A menudo es necesario asociar algunos datos específicos de la aplicación con una clave de selección, por ejemplo, un objeto que representa el estado de un protocolo de nivel superior y controla las notificaciones de preparación para implementar ese protocolo. Por lo tanto, las claves de selección admiten los datos adjuntos de un único objeto arbitrario a una clave. Un objeto se puede adjuntar a través del #attach attach método y, a continuación, recuperarse posteriormente a través del #attachment() attachment método .
Las claves de selección son seguras para su uso por varios subprocesos simultáneos. Una operación de selección siempre usará el valor establecido en interés que estaba activo en el momento en que se inició la operación.
Agregado en la versión 1.4.
Java documentación para java.nio.channels.SelectionKey.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Constructores
| Nombre | Description |
|---|---|
| SelectionKey() |
Construye una instancia de esta clase. |
| SelectionKey(IntPtr, JniHandleOwnership) |
Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución. |
Campos
| Nombre | Description |
|---|---|
| OpAccept |
Obsoletos.
Bit del conjunto de operaciones para las operaciones de aceptación de sockets. |
| OpConnect |
Obsoletos.
Bit del conjunto de operaciones para las operaciones de conexión de socket. |
| OpRead |
Obsoletos.
Bit del conjunto de operaciones para las operaciones de lectura. |
| OpWrite |
Obsoletos.
Bit del conjunto de operaciones para operaciones de escritura. |
Propiedades
| Nombre | Description |
|---|---|
| Class |
Devuelve la clase en tiempo de ejecución de este |
| Handle |
Identificador de la instancia de Android subyacente. (Heredado de Object) |
| IsAcceptable |
Comprueba si el canal de esta clave está listo para aceptar una nueva conexión de socket. |
| IsConnectable |
Comprueba si el canal de esta clave ha finalizado o no ha finalizado, su operación de conexión de socket. |
| IsReadable |
Comprueba si el canal de esta clave está listo para leerse. |
| IsValid |
Indica si esta clave es válida. |
| IsWritable |
Comprueba si el canal de esta clave está listo para escribirse. |
| JniIdentityHashCode |
Obtiene el código hash de identidad asignado a este Java del mismo nivel por el tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| JniManagedPeerState |
Token que representa el registro de con |
| JniPeerMembers |
Token que representa el registro de con |
| PeerReference |
Obtiene la referencia de objeto JNI para este Java del mismo nivel. (Heredado de Object) |
| ThresholdClass |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
| ThresholdType |
Esta API admite la infraestructura mono para Android y no está pensada para usarse directamente desde el código. |
Métodos
| Nombre | Description |
|---|---|
| Attach(Object) |
Adjunta el objeto especificado a esta clave. |
| Attachment() |
Recupera los datos adjuntos actuales. |
| Cancel() |
Solicita que se cancele el registro del canal de esta clave con su selector. |
| Channel() |
Devuelve el canal para el que se creó esta clave. |
| Clone() |
Crea y devuelve una copia de este objeto. (Heredado de Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
Token que representa el registro de con |
| Dispose() |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| Dispose(Boolean) |
Libera los recursos mantenidos por este Java del mismo nivel. (Heredado de Object) |
| DisposeUnlessReferenced() |
Token que representa el registro de con |
| Equals(Object) |
Token que representa el registro de con |
| Equals(Object) |
Indica si algún otro objeto es "igual a" este. (Heredado de Object) |
| GetHashCode() |
Devuelve un valor de código hash para el objeto . (Heredado de Object) |
| InterestOps() |
Recupera el interés de esta clave establecida. |
| InterestOps(Operations) |
Recupera el interés de esta clave establecida. |
| InterestOpsAnd(Int32) |
Establece de forma atómica el interés de esta clave en la intersección bit a bit ("y") del conjunto de intereses existente y el valor especificado. |
| InterestOpsOr(Int32) |
Establece de forma atómica el interés de esta clave establecido en la unión bit a bit ("o") del conjunto de intereses existente y el valor especificado. |
| JavaFinalize() |
Lo llama el recolector de elementos no utilizados en un objeto cuando la recolección de elementos no utilizados determina que no hay más referencias al objeto . (Heredado de Object) |
| Notify() |
Activa un único subproceso que está esperando en el monitor de este objeto. (Heredado de Object) |
| NotifyAll() |
Activa todos los subprocesos que están esperando en el monitor de este objeto. (Heredado de Object) |
| ReadyOps() |
Recupera el conjunto de operaciones preparadas de esta clave. |
| Selector() |
Devuelve el selector para el que se creó esta clave. |
| SetHandle(IntPtr, JniHandleOwnership) |
Establece la propiedad Handle. (Heredado de Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
Token que representa el registro de con |
| ToArray<T>() |
Crea una matriz administrada a partir de este contenedor de matriz Java. (Heredado de Object) |
| ToString() |
Devuelve una representación de cadena del objeto . (Heredado de Object) |
| UnregisterFromRuntime() |
Anula el registro de este Java del mismo nivel del tiempo de ejecución de interoperabilidad. (Heredado de Object) |
| Wait() |
Hace que el subproceso actual espere hasta que se despierta, normalmente por ser em notificado/em< o >em<interrumpido>/em<.><> (Heredado de Object) |
| Wait(Int64, Int32) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
| Wait(Int64) |
Hace que el subproceso actual espere hasta que se despierte, normalmente por ser <em>notificado</em> o <em>interrumpido</em>, o hasta que haya transcurrido una cierta cantidad de tiempo real. (Heredado de Object) |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IJavaPeerable.Disposed() |
Token que representa el registro de con |
| IJavaPeerable.Finalized() |
Token que representa el registro de con |
| IJavaPeerable.JniObjectReferenceControlBlock |
Token que representa el registro de con |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Token que representa el registro de con |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Token que representa el registro de con |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Token que representa el registro de con |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtiene el nombre JNI del tipo de la instancia |
| JavaAs<TResult>(IJavaPeerable) |
Intente coerción |
| JavaCast<TResult>(IJavaObject) |
Realiza una conversión de tipos comprobados en tiempo de ejecución de Android. |
| JavaCast<TResult>(IJavaObject) |
Token que representa el registro de con |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Intente coerción |