SelectionKey クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
への のSelectableChannel
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
- 継承
- 派生
- 属性
注釈
への のSelectableChannel
Selector
登録を表すトークン。
選択キーは、チャネルがセレクターに登録されるたびに作成されます。 キーは、メソッドを呼び出すか、チャネルを閉じるか、セレクターを#cancel cancel
閉じることによって取り消されるまで有効です。 キーを取り消しても、セレクターからすぐには削除されません。代わりに、次の選択操作中に削除のためにセレクターの <i>cancelled-key set</i> に追加されます。 キーの有効性は、その #isValid isValid
メソッドを呼び出すことによってテストできます。
"opsets">
選択キーには、整数値として表される 2 つの 操作セット が含まれています。 操作セットの各ビットは、キーのチャネルでサポートされている選択可能な操作のカテゴリを表します。
<ul>
<李>
次にセレクターの選択メソッドの 1 つが呼び出されたときに、 対象セット によって、準備のためにテストされる操作カテゴリが決まります。 対象セットは、キーの作成時に指定された値で初期化されます。後で メソッドを #interestOps(int)
使用して変更できます。
</李>
<李>
ready セットは、キーのセレクターによってキーのチャネルが準備可能であることが検出された操作カテゴリを識別します。 キーが作成されると、準備完了セットは 0 に初期化されます。後で選択操作中にセレクターによって更新される場合がありますが、直接更新することはできません。
</李>
</ul>
選択キーの準備完了セットは、そのチャネルが何らかの操作カテゴリの準備ができていることを示しますが、そのようなカテゴリの操作がスレッドによってブロックされることなく実行される可能性があることを保証するものではありません。 準備完了セットは、選択操作が完了した直後に正確である可能性が最も高くなります。 外部イベントや、対応するチャネルで呼び出される I/O 操作によって不正確になる可能性があります。
このクラスは、すべての既知の操作セット ビットを定義しますが、特定のチャネルでサポートされるビットは、チャネルの種類によって正確に異なります。 の SelectableChannel
各サブクラスは、チャネルで SelectableChannel#validOps() validOps()
サポートされている操作のみを識別するセットを返すメソッドを定義します。 キーのチャネルでサポートされていない操作セット ビットを設定またはテストしようとすると、適切な実行時例外が発生します。
多くの場合、アプリケーション固有のデータを選択キーに関連付ける必要があります。たとえば、上位レベルのプロトコルの状態を表し、そのプロトコルを実装するために準備通知を処理するオブジェクトなどです。 したがって、選択キーは、キーへの単一の任意のオブジェクトの 添付 をサポートします。 オブジェクトは、 メソッドを #attach attach
使用してアタッチし、後で メソッドを #attachment() attachment
使用して取得できます。
選択キーは、複数の同時実行スレッドで使用しても安全です。 選択操作では、操作が開始された時点で現在の金利設定値が常に使用されます。
1.4 で追加されました。
の Java ドキュメント java.nio.channels.SelectionKey
。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
SelectionKey() |
このクラスのインスタンスを構築します。 |
SelectionKey(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
フィールド
OpAccept |
古い.
ソケット受け入れ操作の操作セット ビット。 |
OpConnect |
古い.
ソケット接続操作の操作セット ビット。 |
OpRead |
古い.
読み取り操作の操作セット ビット。 |
OpWrite |
古い.
書き込み操作の操作セット ビット。 |
プロパティ
Class |
この |
Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
IsAcceptable |
このキーのチャネルが新しいソケット接続を受け入れる準備ができているかどうかをテストします。 |
IsConnectable |
このキーのチャネルがソケット接続操作を完了したか、完了に失敗したかをテストします。 |
IsReadable |
このキーのチャネルが読み取り可能かどうかをテストします。 |
IsValid |
このキーが有効かどうかを示します。 |
IsWritable |
このキーのチャネルが書き込み可能かどうかをテストします。 |
JniIdentityHashCode |
への の |
JniPeerMembers |
への の |
PeerReference |
への の |
ThresholdClass |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用することを意図したものではありません。 |
ThresholdType |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用することを意図したものではありません。 |
メソッド
Attach(Object) |
指定したオブジェクトをこのキーにアタッチします。 |
Attachment() |
現在の添付ファイルを取得します。 |
Cancel() |
このキーのチャネルとそのセレクターの登録を取り消す要求。 |
Channel() |
このキーが作成されたチャネルを返します。 |
Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
Dispose() |
への の |
Dispose(Boolean) |
への の |
Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
InterestOps() |
このキーのインタレスト セットを取得します。 |
InterestOps(Operations) |
このキーのインタレスト セットを取得します。 |
InterestOpsAnd(Int32) |
このキーのインタレスト セットを、既存のインタレスト セットと指定された値のビットごとの積集合 ("および") にアトミックに設定します。 |
InterestOpsOr(Int32) |
このキーのインタレスト セットを、既存のインタレスト セットと指定された値のビットごとの和集合 ("または") にアトミックに設定します。 |
JavaFinalize() |
ガベージ コレクションがオブジェクトへの参照がなくなったと判断したときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドをウェイクアップします。 (継承元 Object) |
NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドをウェイクアップします。 (継承元 Object) |
ReadyOps() |
このキーの準備完了操作セットを取得します。 |
Selector() |
このキーが作成されたセレクターを返します。 |
SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
ToArray<T>() |
への の |
ToString() |
オブジェクトの文字列形式を返します。 (継承元 Object) |
UnregisterFromRuntime() |
への の |
Wait() |
現在のスレッドが起動するまで待機します。通常<>は、通知</em> または <em>割り込み</em によって待機します>。 (継承元 Object) |
Wait(Int64) |
現在のスレッドが起動するまで待機します。通常<>は、通知</em> または>< em 割り込み</em>、または一定のリアルタイムが経過するまで待機します。 (継承元 Object) |
Wait(Int64, Int32) |
現在のスレッドが起動するまで待機します。通常<>は、通知</em> または>< em 割り込み</em>、または一定のリアルタイムが経過するまで待機します。 (継承元 Object) |
明示的なインターフェイスの実装
IJavaPeerable.Disposed() |
への の |
IJavaPeerable.DisposeUnlessReferenced() |
への の |
IJavaPeerable.Finalized() |
への の |
IJavaPeerable.JniManagedPeerState |
への の |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
への の |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
への の |
IJavaPeerable.SetPeerReference(JniObjectReference) |
への の |
拡張メソッド
JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
JavaCast<TResult>(IJavaObject) |
への の |
GetJniTypeName(IJavaPeerable) |
への の |