SelectableChannel Clase

Definición

Un canal que se puede multiplexar a través de .Selector

[Android.Runtime.Register("java/nio/channels/SelectableChannel", DoNotGenerateAcw=true)]
public abstract class SelectableChannel : Java.Nio.Channels.Spi.AbstractInterruptibleChannel, IDisposable
[<Android.Runtime.Register("java/nio/channels/SelectableChannel", DoNotGenerateAcw=true)>]
type SelectableChannel = class
    inherit AbstractInterruptibleChannel
    interface IChannel
    interface ICloseable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
Herencia
Derivado
Atributos
Implementaciones

Comentarios

Un canal que se puede multiplexar a través de .Selector

Para poder usarse con un selector, primero se debe registrar una instancia de esta clase a través del #register(Selector,int,Object) register método . Este método devuelve un nuevo SelectionKey objeto que representa el registro del canal con el selector.

Una vez registrado con un selector, un canal permanece registrado hasta que se anula el registro. Esto implica desasignar los recursos asignados al canal por el selector.

No se puede anular el registro de un canal directamente; en su lugar, se debe cancelar la clave que representa su registro. Cancelar una clave solicita que el canal se anule el registro durante la siguiente operación de selección del selector. Una clave se puede cancelar explícitamente invocando su SelectionKey#cancel() cancel método. Todas las claves de un canal se cancelan implícitamente cuando se cierra el canal, ya sea invocando su Channel#close close método o interrumpiendo un subproceso bloqueado en una operación de E/S en el canal.

Si el propio selector está cerrado, se anulará el registro del canal y se invalidará la clave que representa su registro, sin más retraso.

Un canal se puede registrar como máximo una vez con cualquier selector determinado.

Si un canal está registrado con uno o varios selectores puede determinarse invocando el #isRegistered isRegistered método .

Los canales seleccionables son seguros para su uso por varios subprocesos simultáneos.

"bm"><h2>Modo de bloqueo</h2>

Un canal seleccionable está en modo de bloqueo o en modo de no bloqueo . En el modo de bloqueo, cada operación de E/S invocada en el canal se bloqueará hasta que se complete. En el modo de no bloqueo, una operación de E/S nunca se bloqueará y puede transferir menos bytes de los solicitados o, posiblemente, no hay bytes en absoluto. El modo de bloqueo de un canal seleccionable puede determinarse invocando su #isBlocking isBlocking método.

Los canales seleccionables recién creados siempre están en modo de bloqueo. El modo de no bloqueo es más útil junto con la multiplexación basada en selectores. Un canal debe colocarse en modo de no bloqueo antes de registrarse con un selector y es posible que no se devuelva al modo de bloqueo hasta que se haya anulado el registro.

Agregado en la versión 1.4.

Java documentación para java.nio.channels.SelectableChannel.

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
SelectableChannel()

Inicializa una nueva instancia de esta clase.

SelectableChannel(IntPtr, JniHandleOwnership)

Constructor utilizado al crear representaciones administradas de objetos JNI; llamado por el tiempo de ejecución.

Propiedades

Nombre Description
Class

Devuelve la clase en tiempo de ejecución de este Objectobjeto .

(Heredado de Object)
Handle

Identificador de la instancia de Android subyacente.

(Heredado de Object)
IsBlocking

Indica si este canal está en modo de bloqueo.

IsOpen

Devuelve true si este canal está abierto.

(Heredado de AbstractInterruptibleChannel)
IsRegistered

Indica si este canal está registrado con al menos un selector.

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

Un canal que se puede multiplexar a través de .Selector

(Heredado de JavaObject)
JniPeerMembers

Un canal que se puede multiplexar a través de .Selector

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
Begin()

Marca el principio de una operación de E/S que podría bloquearse indefinidamente.

(Heredado de AbstractInterruptibleChannel)
BlockingLock()

Recupera el objeto en el que se sincronizan los #configureBlocking configureBlocking métodos y #register register .

Clone()

Crea y devuelve una copia de este objeto.

(Heredado de Object)
Close()

Cierra este canal.

(Heredado de AbstractInterruptibleChannel)
ConfigureBlocking(Boolean)

Ajusta el modo de bloqueo de este canal.

Construct(JniObjectReference, JniObjectReferenceOptions)

Un canal que se puede multiplexar a través de .Selector

(Heredado de JavaObject)
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()

Un canal que se puede multiplexar a través de .Selector

(Heredado de JavaObject)
End(Boolean)

Marca el final de una operación de E/S que podría bloquearse indefinidamente.

(Heredado de AbstractInterruptibleChannel)
Equals(Object)

Un canal que se puede multiplexar a través de .Selector

(Heredado de JavaObject)
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)
ImplCloseChannel()

Cierra este canal.

(Heredado de AbstractInterruptibleChannel)
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)
KeyFor(Selector)

Recupera la clave que representa el registro del canal con el selector especificado.

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)
Provider()

Devuelve el proveedor que creó este canal.

Register(Selector, Operations, Object)

Registra este canal con el selector especificado y devuelve una clave de selección.

Register(Selector, Operations)

Registra este canal con el selector especificado y devuelve una clave de selección.

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Un canal que se puede multiplexar a través de .Selector

(Heredado de JavaObject)
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)
ValidOps()

Devuelve un conjunto de operaciones que identifica las operaciones admitidas de este canal.

Wait()

Hace que el subproceso actual espere hasta que se despierte, 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()

Un canal que se puede multiplexar a través de .Selector

(Heredado de JavaObject)
IJavaPeerable.Finalized()

Un canal que se puede multiplexar a través de .Selector

(Heredado de JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

Un canal que se puede multiplexar a través de .Selector

(Heredado de JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Un canal que se puede multiplexar a través de .Selector

(Heredado de JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Un canal que se puede multiplexar a través de .Selector

(Heredado de JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

Un canal que se puede multiplexar a través de .Selector

(Heredado de JavaObject)
IJavaPeerable.UnregisterFromRuntime()

Un canal que se puede multiplexar a través de .Selector

Métodos de extensión

Nombre Description
GetJniTypeName(IJavaPeerable)

Obtiene el nombre JNI del tipo de la instancia self.

JavaAs<TResult>(IJavaPeerable)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

JavaCast<TResult>(IJavaObject)

Realiza una conversión de tipos comprobados en tiempo de ejecución de Android.

JavaCast<TResult>(IJavaObject)

Un canal que se puede multiplexar a través de .Selector

TryJavaCast<TResult>(IJavaPeerable, TResult)

Intente coerción self para escribir TResult, comprobando que la coerción es válida en el lado de Java.

Se aplica a