SelectionKey Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Token che rappresenta la registrazione di un SelectableChannel oggetto con un oggetto 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
- Ereditarietà
- Derivato
- Attributi
Commenti
Token che rappresenta la registrazione di un SelectableChannel oggetto con un oggetto Selector.
Viene creata una chiave di selezione ogni volta che un canale viene registrato con un selettore. Una chiave rimane valida fino a quando non viene annullata richiamando il #cancel cancel relativo metodo, chiudendo il canale o chiudendo il selettore. L'annullamento di una chiave non lo rimuove immediatamente dal selettore; viene invece aggiunto al set< di chiavi cancelled-i> del <>selettore per la rimozione durante l'operazione di selezione successiva. La validità di una chiave può essere testata richiamando il relativo #isValid isValid metodo.
"opsets">
Una chiave di selezione contiene due set di operazioni rappresentati come valori interi. Ogni bit di un set di operazioni indica una categoria di operazioni selezionabili supportate dal canale della chiave.
<ul>
<li>
Il set di interessi determina quali categorie di operazioni verranno testate per la conformità alla successiva chiamata di uno dei metodi di selezione del selettore. Il set di interessi viene inizializzato con il valore specificato al momento della creazione della chiave; potrebbe essere modificato in un secondo momento tramite il #interestOps(int) metodo .
</li>
<li>
Il set pronto identifica le categorie di operazione per le quali il canale della chiave è stato rilevato per essere pronto dal selettore della chiave. Il set pronto viene inizializzato su zero al momento della creazione della chiave; potrebbe essere aggiornato successivamente dal selettore durante un'operazione di selezione, ma non può essere aggiornato direttamente.
</li>
</ul>
Il set pronto di una chiave di selezione indica che il relativo canale è pronto per una categoria di operazioni è un suggerimento, ma non una garanzia, che un'operazione in tale categoria può essere eseguita da un thread senza causare il blocco del thread. È molto probabile che un set pronto sia accurato immediatamente dopo il completamento di un'operazione di selezione. È probabile che venga reso impreciso da eventi esterni e da operazioni di I/O richiamate sul canale corrispondente.
Questa classe definisce tutti i bit noti del set di operazioni, ma esattamente quali bit sono supportati da un determinato canale dipende dal tipo di canale. Ogni sottoclasse di SelectableChannel definisce un SelectableChannel#validOps() validOps() metodo che restituisce un set che identifica solo le operazioni supportate dal canale. Un tentativo di impostare o testare un bit del set di operazioni non supportato dal canale di una chiave genererà un'eccezione di runtime appropriata.
Spesso è necessario associare alcuni dati specifici dell'applicazione a una chiave di selezione, ad esempio un oggetto che rappresenta lo stato di un protocollo di livello superiore e gestisce le notifiche di idoneità per implementare tale protocollo. Le chiavi di selezione supportano quindi l'allegato di un singolo oggetto arbitrario a una chiave. Un oggetto può essere associato tramite il #attach attach metodo e quindi recuperato in un secondo momento tramite il #attachment() attachment metodo .
Le chiavi di selezione sono sicure per l'uso da parte di più thread simultanei. Un'operazione di selezione userà sempre il valore del set di interessi corrente al momento dell'avvio dell'operazione.
Aggiunta nella versione 1.4.
per java.nio.channels.SelectionKey.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Costruttori
| Nome | Descrizione |
|---|---|
| SelectionKey() |
Costruisce un'istanza di questa classe. |
| SelectionKey(IntPtr, JniHandleOwnership) |
Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime. |
Campi
| Nome | Descrizione |
|---|---|
| OpAccept |
Obsoleti.
Bit del set di operazioni per le operazioni socket-accept. |
| OpConnect |
Obsoleti.
Bit del set di operazioni per le operazioni di connessione socket. |
| OpRead |
Obsoleti.
Bit del set di operazioni per le operazioni di lettura. |
| OpWrite |
Obsoleti.
Bit del set di operazioni per le operazioni di scrittura. |
Proprietà
| Nome | Descrizione |
|---|---|
| Class |
Restituisce la classe di runtime di questo |
| Handle |
Handle per l'istanza di Android sottostante. (Ereditato da Object) |
| IsAcceptable |
Verifica se il canale di questa chiave è pronto per accettare una nuova connessione socket. |
| IsConnectable |
Verifica se il canale di questa chiave è stato completato o non è riuscito a completare l'operazione di connessione socket. |
| IsReadable |
Verifica se il canale di questa chiave è pronto per la lettura. |
| IsValid |
Indica se questa chiave è valida. |
| IsWritable |
Verifica se il canale di questa chiave è pronto per la scrittura. |
| JniIdentityHashCode |
Ottiene il codice hash di identità assegnato a questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| JniPeerMembers |
Token che rappresenta la registrazione di un |
| PeerReference |
Ottiene il riferimento all'oggetto JNI per questo peer Java. (Ereditato da Object) |
| ThresholdClass |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
| ThresholdType |
Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice. |
Metodi
| Nome | Descrizione |
|---|---|
| Attach(Object) |
Associa l'oggetto specificato a questa chiave. |
| Attachment() |
Recupera l'allegato corrente. |
| Cancel() |
Richiede l'annullamento della registrazione del canale della chiave con il relativo selettore. |
| Channel() |
Restituisce il canale per il quale è stata creata la chiave. |
| Clone() |
Crea e restituisce una copia di questo oggetto. (Ereditato da Object) |
| Dispose() |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| Dispose(Boolean) |
Rilascia le risorse contenute in questo peer Java. (Ereditato da Object) |
| Equals(Object) |
Indica se un altro oggetto è "uguale a" questo. (Ereditato da Object) |
| GetHashCode() |
Restituisce un valore di codice hash per l'oggetto . (Ereditato da Object) |
| InterestOps() |
Recupera il set di interessi di questa chiave. |
| InterestOps(Operations) |
Recupera il set di interessi di questa chiave. |
| InterestOpsAnd(Int32) |
Imposta in modo atomico l'interesse di questa chiave sull'intersezione bit per bit ("e") del set di interessi esistente e sul valore specificato. |
| InterestOpsOr(Int32) |
Imposta in modo atomico l'interesse di questa chiave sull'unione bit per bit ("o") del set di interessi esistente e sul valore specificato. |
| JavaFinalize() |
Chiamato dal Garbage Collector su un oggetto quando Garbage Collection determina che non sono presenti altri riferimenti all'oggetto . (Ereditato da Object) |
| Notify() |
Riattiva un singolo thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| NotifyAll() |
Riattiva tutti i thread in attesa del monitor dell'oggetto. (Ereditato da Object) |
| ReadyOps() |
Recupera il set di operazioni pronto per questa chiave. |
| Selector() |
Restituisce il selettore per il quale è stata creata la chiave. |
| SetHandle(IntPtr, JniHandleOwnership) |
Imposta la proprietà Handle. (Ereditato da Object) |
| ToArray<T>() |
Crea una matrice gestita da questo wrapper di matrice Java. (Ereditato da Object) |
| ToString() |
Restituisce una rappresentazione di stringa dell'oggetto . (Ereditato da Object) |
| UnregisterFromRuntime() |
Annulla la registrazione di questo Java peer dal runtime di interoperabilità. (Ereditato da Object) |
| Wait() |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo <>una notifica</em> o <em>interrotto</em>. (Ereditato da Object) |
| Wait(Int64, Int32) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
| Wait(Int64) |
Fa sì che il thread corrente attenda finché non viene risvegliato, in genere ricevendo<> una notifica</em> o <em>interrotto</em> o fino a quando non è trascorsa una determinata quantità di tempo reale. (Ereditato da Object) |
Implementazioni dell'interfaccia esplicita
| Nome | Descrizione |
|---|---|
| IJavaPeerable.Disposed() |
Notifica al runtime di interoperabilità che il peer gestito è stato eliminato. (Ereditato da Object) |
| IJavaPeerable.DisposeUnlessReferenced() |
Rilascia questo Java peer a meno che non venga conservato da un altro riferimento gestito. (Ereditato da Object) |
| IJavaPeerable.Finalized() |
Notifica al runtime di interoperabilità che il peer gestito è stato finalizzato. (Ereditato da Object) |
| IJavaPeerable.JniManagedPeerState |
Ottiene lo stato che descrive la relazione tra questo peer gestito e il relativo riferimento JNI. (Ereditato da Object) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Imposta il codice hash dell'identità di interoperabilità per questo Java peer. (Ereditato da Object) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Imposta lo stato peer gestito e JNI per questo peer Java. (Ereditato da Object) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Imposta il riferimento all'oggetto JNI usato da questo peer gestito. (Ereditato da Object) |
Metodi di estensione
| Nome | Descrizione |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Ottiene il nome JNI del tipo dell'istanza |
| JavaAs<TResult>(IJavaPeerable) |
Provare a digitare |
| JavaCast<TResult>(IJavaObject) |
Esegue una conversione del tipo di tipo controllato dal runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Token che rappresenta la registrazione di un |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Provare a digitare |