SelectionKey Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Um token que representa o registro de um SelectableChannel com um 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
- Herança
- Derivado
- Atributos
Comentários
Um token que representa o registro de um SelectableChannel com um Selector.
Uma chave de seleção é criada sempre que um canal é registrado com um seletor. Uma chave permanece válida até ser cancelada invocando seu #cancel cancel método, fechando seu canal ou fechando seu seletor. Cancelar uma chave não a remove imediatamente de seu seletor; em vez disso, ele é adicionado ao i>cancelled-key set</i> do <seletor para remoção durante a próxima operação de seleção. A validade de uma chave pode ser testada invocando seu #isValid isValid método.
"opsets">
Uma chave de seleção contém dois conjuntos de operações representados como valores inteiros. Cada bit de um conjunto de operações indica uma categoria de operações selecionáveis com suporte pelo canal da chave.
<ul>
<li>
O conjunto de juros determina quais categorias de operação serão testadas para preparação na próxima vez que um dos métodos de seleção do seletor for invocado. O conjunto de juros é inicializado com o valor fornecido quando a chave é criada; ele poderá ser alterado posteriormente por meio do #interestOps(int) método.
</li>
<li>
O conjunto pronto identifica as categorias de operação para as quais o canal da chave foi detectado para estar pronto pelo seletor da chave. O conjunto pronto é inicializado como zero quando a chave é criada; ele pode ser atualizado posteriormente pelo seletor durante uma operação de seleção, mas não pode ser atualizado diretamente.
</li>
</ul>
Que o conjunto pronto de uma chave de seleção indica que seu canal está pronto para alguma categoria de operação é uma dica, mas não uma garantia, de que uma operação em tal categoria pode ser executada por um thread sem fazer com que o thread seja bloqueado. É mais provável que um conjunto pronto seja preciso imediatamente após a conclusão de uma operação de seleção. É provável que ele seja impreciso por eventos externos e por operações de E/S que são invocadas no canal correspondente.
Essa classe define todos os bits de conjunto de operações conhecidos, mas precisamente quais bits têm suporte por um determinado canal dependem do tipo do canal. Cada subclasse define SelectableChannel um SelectableChannel#validOps() validOps() método que retorna um conjunto que identifica apenas as operações compatíveis com o canal. Uma tentativa de definir ou testar um bit de conjunto de operações que não tem suporte pelo canal de uma chave resultará em uma exceção de tempo de execução apropriada.
Geralmente, é necessário associar alguns dados específicos do aplicativo a uma chave de seleção, por exemplo, um objeto que representa o estado de um protocolo de nível superior e lida com notificações de preparação para implementar esse protocolo. Portanto, as chaves de seleção dão suporte ao anexo de um único objeto arbitrário a uma chave. Um objeto pode ser anexado por meio do #attach attach método e depois recuperado por meio do #attachment() attachment método.
As chaves de seleção são seguras para uso por vários threads simultâneos. Uma operação de seleção sempre usará o valor de conjunto de juros que era atual no momento em que a operação começou.
Adicionado em 1.4.
Java documentação para java.nio.channels.SelectionKey.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.
Construtores
| Nome | Description |
|---|---|
| SelectionKey() |
Constrói uma instância dessa classe. |
| SelectionKey(IntPtr, JniHandleOwnership) |
Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo runtime. |
Campos
| Nome | Description |
|---|---|
| OpAccept |
Obsoleto.
Bit de conjunto de operações para operações de aceitação de soquete. |
| OpConnect |
Obsoleto.
Bit de conjunto de operações para operações de conexão de soquete. |
| OpRead |
Obsoleto.
Bit de conjunto de operações para operações de leitura. |
| OpWrite |
Obsoleto.
Bit de conjunto de operações para operações de gravação. |
Propriedades
| Nome | Description |
|---|---|
| Class |
Retorna a classe de runtime deste |
| Handle |
O identificador para a instância subjacente do Android. (Herdado de Object) |
| IsAcceptable |
Testa se o canal dessa chave está pronto para aceitar uma nova conexão de soquete. |
| IsConnectable |
Testa se o canal dessa chave terminou ou não concluiu sua operação de conexão de soquete. |
| IsReadable |
Testa se o canal dessa chave está pronto para leitura. |
| IsValid |
Indica se essa chave é válida. |
| IsWritable |
Testa se o canal dessa chave está pronto para gravação. |
| JniIdentityHashCode |
Um token que representa o registro de um |
| JniPeerMembers |
Um token que representa o registro de um |
| PeerReference |
Um token que representa o registro de um |
| ThresholdClass |
Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código. |
| ThresholdType |
Essa API dá suporte à infraestrutura do Mono para Android e não se destina a ser usada diretamente do seu código. |
Métodos
| Nome | Description |
|---|---|
| Attach(Object) |
Anexa o objeto fornecido a essa chave. |
| Attachment() |
Recupera o anexo atual. |
| Cancel() |
Solicita que o registro do canal dessa chave com seu seletor seja cancelado. |
| Channel() |
Retorna o canal para o qual essa chave foi criada. |
| Clone() |
Cria e retorna uma cópia desse objeto. (Herdado de Object) |
| Dispose() |
Um token que representa o registro de um |
| Dispose(Boolean) |
Um token que representa o registro de um |
| Equals(Object) |
Indica se algum outro objeto é "igual a" este. (Herdado de Object) |
| GetHashCode() |
Retorna um valor de código hash para o objeto. (Herdado de Object) |
| InterestOps() |
Recupera o conjunto de interesses dessa chave. |
| InterestOps(Operations) |
Recupera o conjunto de interesses dessa chave. |
| InterestOpsAnd(Int32) |
Define atomicamente o interesse dessa chave definido como a interseção bit a bit ("e") do conjunto de juros existente e o valor fornecido. |
| InterestOpsOr(Int32) |
Define atomicamente o interesse dessa chave definido como a união bit a bit ("ou") do conjunto de juros existente e o valor fornecido. |
| JavaFinalize() |
Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto. (Herdado de Object) |
| Notify() |
Ativa um único thread que está aguardando no monitor deste objeto. (Herdado de Object) |
| NotifyAll() |
Ativa todos os threads que estão aguardando no monitor deste objeto. (Herdado de Object) |
| ReadyOps() |
Recupera o conjunto de operações prontas dessa chave. |
| Selector() |
Retorna o seletor para o qual essa chave foi criada. |
| SetHandle(IntPtr, JniHandleOwnership) |
Define a propriedade Handle (Herdado de Object) |
| ToArray<T>() |
Um token que representa o registro de um |
| ToString() |
Retorna uma representação de cadeia de caracteres do objeto. (Herdado de Object) |
| UnregisterFromRuntime() |
Um token que representa o registro de um |
| Wait() |
Faz com que o thread atual aguarde até ser despertado, normalmente por ser <notificado/em> ou <em>interrompido</em>.<> (Herdado de Object) |
| Wait(Int64, Int32) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
| Wait(Int64) |
Faz com que o thread atual aguarde até que ele seja despertado, normalmente por ser <>notificado</em> ou <em>interrompido</em>, ou até que uma determinada quantidade de tempo real tenha decorrido. (Herdado de Object) |
Implantações explícitas de interface
| Nome | Description |
|---|---|
| IJavaPeerable.Disposed() |
Um token que representa o registro de um |
| IJavaPeerable.DisposeUnlessReferenced() |
Um token que representa o registro de um |
| IJavaPeerable.Finalized() |
Um token que representa o registro de um |
| IJavaPeerable.JniManagedPeerState |
Um token que representa o registro de um |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Um token que representa o registro de um |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Um token que representa o registro de um |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Um token que representa o registro de um |
Métodos de Extensão
| Nome | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtém o nome JNI do tipo da instância |
| JavaAs<TResult>(IJavaPeerable) |
Tente coagir a digitar |
| JavaCast<TResult>(IJavaObject) |
Executa uma conversão de tipo marcada por runtime do Android. |
| JavaCast<TResult>(IJavaObject) |
Um token que representa o registro de um |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Tente coagir a digitar |