SelectionKey Klasse

Definition

Ein Token, das die Registrierung eines SelectableChannel mit einem Selectordarstellt.

[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
Vererbung
SelectionKey
Abgeleitet
Attribute

Hinweise

Ein Token, das die Registrierung eines SelectableChannel mit einem Selectordarstellt.

Jedes Mal, wenn ein Kanal bei einem Selektor registriert wird, wird ein Auswahlschlüssel erstellt. Ein Schlüssel bleibt gültig, bis er durch Aufrufen seiner #cancel cancel Methode, durch Schließen des Kanals oder durch Schließen des Selektors abgebrochen wird. Durch das Abbrechen eines Schlüssels wird er nicht sofort aus dem Selektor entfernt. Sie wird stattdessen dem i>cancelled-key set</i> des Selektors hinzugefügt, um sie während des nächsten Auswahlvorgangs <zu entfernen. Die Gültigkeit eines Schlüssels kann durch Aufrufen seiner #isValid isValid Methode überprüft werden.

"opsets">

Ein Auswahlschlüssel enthält zwei Vorgangssätze , die als ganzzahlige Werte dargestellt werden. Jedes Bit eines Vorgangssatzes bezeichnet eine Kategorie von auswählbaren Vorgängen, die vom Kanal des Schlüssels unterstützt werden.

<ul>

<Li>

Der Interessensatz bestimmt, welche Vorgangskategorien beim nächsten Aufruf einer der Auswahlmethoden des Selektors auf Bereitschaft getestet werden. Der Zinssatz wird mit dem Wert initialisiert, der beim Erstellen des Schlüssels angegeben wird. sie kann später über die #interestOps(int) -Methode geändert werden.

</Li>

<Li>

Der fertige Satz identifiziert die Vorgangskategorien, für die der Kanal des Schlüssels vom Selektor des Schlüssels als bereit erkannt wurde. Der fertige Satz wird beim Erstellen des Schlüssels auf 0 initialisiert. Sie kann später während eines Auswahlvorgangs vom Selektor aktualisiert werden, kann aber nicht direkt aktualisiert werden.

</Li>

</ul>

Dass der fertige Satz eines Auswahlschlüssels angibt, dass sein Kanal für eine Vorgangskategorie bereit ist, ist ein Hinweis, aber keine Garantie dafür, dass ein Vorgang in einer solchen Kategorie von einem Thread ausgeführt werden kann, ohne dass der Thread blockiert wird. Ein fertiger Satz ist wahrscheinlich unmittelbar nach Abschluss eines Auswahlvorgangs genau. Sie wird wahrscheinlich durch externe Ereignisse und E/A-Vorgänge ungenau gemacht, die auf dem entsprechenden Kanal aufgerufen werden.

Diese Klasse definiert alle bekannten Vorgangssatzbits, aber welche Bits von einem bestimmten Kanal unterstützt werden, hängt vom Typ des Kanals ab. Jede Unterklasse von SelectableChannel definiert eine SelectableChannel#validOps() validOps() Methode, die einen Satz zurückgibt, der nur die Vom Kanal unterstützten Vorgänge identifiziert. Ein Versuch, ein Vorgangssatzbit festzulegen oder zu testen, das vom Kanal eines Schlüssels nicht unterstützt wird, führt zu einer entsprechenden Laufzeit-Ausnahme.

Es ist häufig notwendig, einige anwendungsspezifische Daten einem Auswahlschlüssel zuzuordnen, z. B. ein Objekt, das den Zustand eines Protokolls auf höherer Ebene darstellt und Bereitschaftsbenachrichtigungen verarbeitet, um dieses Protokoll zu implementieren. Auswahlschlüssel unterstützen daher das Anfügen eines einzelnen beliebigen Objekts an einen Schlüssel. Ein Objekt kann über die #attach attach -Methode angefügt und später über die #attachment() attachment -Methode abgerufen werden.

Auswahlschlüssel sind für die Verwendung durch mehrere gleichzeitige Threads sicher. Ein Auswahlvorgang verwendet immer den Zinssatzwert, der zum Zeitpunkt des Beginns des Vorgangs aktuell war.

In Version 1.4 hinzugefügt.

Java-Dokumentation für java.nio.channels.SelectionKey.

Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In der Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

SelectionKey()

Erstellt eine instance dieser Klasse.

SelectionKey(IntPtr, JniHandleOwnership)

Ein Konstruktor, der beim Erstellen verwalteter Darstellungen von JNI-Objekten verwendet wird; wird von der Runtime aufgerufen.

Felder

OpAccept
Veraltet.

Vorgangs-Set-Bit für Socket-Accept-Vorgänge.

OpConnect
Veraltet.

Vorgangs-Set-Bit für Socketverbindungsvorgänge.

OpRead
Veraltet.

Vorgangssatzbit für Lesevorgänge.

OpWrite
Veraltet.

Vorgangssatzbit für Schreibvorgänge.

Eigenschaften

Class

Gibt die Laufzeitklasse dieses Objectzurück.

(Geerbt von Object)
Handle

Das Handle zum zugrunde liegenden Android-instance.

(Geerbt von Object)
IsAcceptable

Testet, ob der Kanal dieses Schlüssels bereit ist, eine neue Socketverbindung zu akzeptieren.

IsConnectable

Testet, ob der Socketverbindungsvorgang dieses Schlüssels abgeschlossen wurde oder nicht abgeschlossen wurde.

IsReadable

Testet, ob der Kanal dieses Schlüssels zum Lesen bereit ist.

IsValid

Gibt an, ob dieser Schlüssel gültig ist.

IsWritable

Testet, ob der Kanal dieses Schlüssels schreibbereit ist.

JniIdentityHashCode

Ein Token, das die Registrierung eines SelectableChannel mit einem Selectordarstellt.

(Geerbt von Object)
JniPeerMembers

Ein Token, das die Registrierung eines SelectableChannel mit einem Selectordarstellt.

PeerReference

Ein Token, das die Registrierung eines SelectableChannel mit einem Selectordarstellt.

(Geerbt von Object)
ThresholdClass

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

ThresholdType

Diese API unterstützt die Mono für Android-Infrastruktur und ist nicht für die direkte Verwendung aus Ihrem Code vorgesehen.

Methoden

Attach(Object)

Fügt das angegebene Objekt an diesen Schlüssel an.

Attachment()

Ruft die aktuelle Anlage ab.

Cancel()

Fordert an, dass die Registrierung des Kanals dieses Schlüssels mit seinem Selektor abgebrochen wird.

Channel()

Gibt den Kanal zurück, für den dieser Schlüssel erstellt wurde.

Clone()

Erstellt und gibt eine Kopie dieses Objekts zurück.

(Geerbt von Object)
Dispose()

Ein Token, das die Registrierung eines SelectableChannel mit einem Selectordarstellt.

(Geerbt von Object)
Dispose(Boolean)

Ein Token, das die Registrierung eines SelectableChannel mit einem Selectordarstellt.

(Geerbt von Object)
Equals(Object)

Gibt an, ob ein anderes Objekt diesem "gleich" ist.

(Geerbt von Object)
GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

(Geerbt von Object)
InterestOps()

Ruft den Interessensatz dieses Schlüssels ab.

InterestOps(Operations)

Ruft den Interessensatz dieses Schlüssels ab.

InterestOpsAnd(Int32)

Legt atomar den Interessensatz dieses Schlüssels auf die bitweise Schnittmenge ("und") des vorhandenen Interessensatzes und des angegebenen Werts fest.

InterestOpsOr(Int32)

Legt atomar den Interessensatz dieses Schlüssels auf die bitweise Union ("or") des vorhandenen Interessensatzes und des angegebenen Werts fest.

JavaFinalize()

Wird vom Garbage Collector für ein Objekt aufgerufen, wenn die Garbage Collection feststellt, dass keine Verweise mehr auf das Objekt vorhanden sind.

(Geerbt von Object)
Notify()

Aktiviert einen einzelnen Thread, der auf dem Monitor dieses Objekts wartet.

(Geerbt von Object)
NotifyAll()

Aktiviert alle Threads, die auf dem Monitor dieses Objekts warten.

(Geerbt von Object)
ReadyOps()

Ruft den betriebsbereiten Satz dieses Schlüssels ab.

Selector()

Gibt den Selektor zurück, für den dieser Schlüssel erstellt wurde.

SetHandle(IntPtr, JniHandleOwnership)

Legt die Handle-Eigenschaft fest.

(Geerbt von Object)
ToArray<T>()

Ein Token, das die Registrierung eines SelectableChannel mit einem Selectordarstellt.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolgendarstellung des Objekts zurück.

(Geerbt von Object)
UnregisterFromRuntime()

Ein Token, das die Registrierung eines SelectableChannel mit einem Selectordarstellt.

(Geerbt von Object)
Wait()

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel durch em benachrichtigen/em> oder <em>interrupted</em>.<><

(Geerbt von Object)
Wait(Int64)

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel, indem <er>benachrichtigt</em> oder <em>interrupted</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)
Wait(Int64, Int32)

Bewirkt, dass der aktuelle Thread wartet, bis er aktiviert wird, in der Regel, indem <er>benachrichtigt</em> oder <em>interrupted</em> oder bis eine bestimmte Menge an Echtzeit verstrichen ist.

(Geerbt von Object)

Explizite Schnittstellenimplementierungen

IJavaPeerable.Disposed()

Ein Token, das die Registrierung eines SelectableChannel mit einem Selectordarstellt.

(Geerbt von Object)
IJavaPeerable.DisposeUnlessReferenced()

Ein Token, das die Registrierung eines SelectableChannel mit einem Selectordarstellt.

(Geerbt von Object)
IJavaPeerable.Finalized()

Ein Token, das die Registrierung eines SelectableChannel mit einem Selectordarstellt.

(Geerbt von Object)
IJavaPeerable.JniManagedPeerState

Ein Token, das die Registrierung eines SelectableChannel mit einem Selectordarstellt.

(Geerbt von Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Ein Token, das die Registrierung eines SelectableChannel mit einem Selectordarstellt.

(Geerbt von Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Ein Token, das die Registrierung eines SelectableChannel mit einem Selectordarstellt.

(Geerbt von Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Ein Token, das die Registrierung eines SelectableChannel mit einem Selectordarstellt.

(Geerbt von Object)

Erweiterungsmethoden

JavaCast<TResult>(IJavaObject)

Führt eine Für Android-Runtime überprüfte Typkonvertierung aus.

JavaCast<TResult>(IJavaObject)

Ein Token, das die Registrierung eines SelectableChannel mit einem Selectordarstellt.

GetJniTypeName(IJavaPeerable)

Ein Token, das die Registrierung eines SelectableChannel mit einem Selectordarstellt.

Gilt für: