Compartir a través de


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, Java.Interop.IJavaPeerable
[<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.

Documentación de Java para java.nio.channels.SelectableChannel.

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.

Constructores

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

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

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

(Heredado de Object)
JniPeerMembers

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

PeerReference

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

(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

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.

Dispose()

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

(Heredado de Object)
Dispose(Boolean)

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

(Heredado de Object)
End(Boolean)

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

(Heredado de AbstractInterruptibleChannel)
Equals(Object)

Indica si algún otro objeto es "igual a" este.

(Heredado de Object)
GetHashCode()

Devuelve un valor de código hash del 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)

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

Register(Selector, Operations, Object)

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

SetHandle(IntPtr, JniHandleOwnership)

Establece la propiedad Handle.

(Heredado de Object)
ToArray<T>()

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

(Heredado de Object)
ToString()

Devuelve una representación de cadena del objeto.

(Heredado de Object)
UnregisterFromRuntime()

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

(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 despierta, normalmente por ser em notificado/em> o <em>interrumpido</em>.<><

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

Implementaciones de interfaz explícitas

IJavaPeerable.Disposed()

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

(Heredado de Object)
IJavaPeerable.DisposeUnlessReferenced()

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

(Heredado de Object)
IJavaPeerable.Finalized()

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

(Heredado de Object)
IJavaPeerable.JniManagedPeerState

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

(Heredado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

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

(Heredado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

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

(Heredado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

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

(Heredado de Object)

Métodos de extensión

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

GetJniTypeName(IJavaPeerable)

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

Se aplica a