SubmissionPublisher.Offer メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
Offer(Object, IBiPredicate) |
メソッドを非同期的に呼び出 |
Offer(Object, Int64, TimeUnit, IBiPredicate) |
可能であれば、指定された項目を |
Offer(Object, IBiPredicate)
メソッドを非同期的に呼び出 Flow.Subscriber#onNext(Object) onNext
すことによって、指定された項目を可能な場合は、現在の各サブスクライバーに発行します。
[Android.Runtime.Register("offer", "(Ljava/lang/Object;Ljava/util/function/BiPredicate;)I", "GetOffer_Ljava_lang_Object_Ljava_util_function_BiPredicate_Handler", ApiSince=33)]
public virtual int Offer (Java.Lang.Object? item, Java.Util.Functions.IBiPredicate? onDrop);
[<Android.Runtime.Register("offer", "(Ljava/lang/Object;Ljava/util/function/BiPredicate;)I", "GetOffer_Ljava_lang_Object_Ljava_util_function_BiPredicate_Handler", ApiSince=33)>]
abstract member Offer : Java.Lang.Object * Java.Util.Functions.IBiPredicate -> int
override this.Offer : Java.Lang.Object * Java.Util.Functions.IBiPredicate -> int
パラメーター
- item
- Object
発行する (null 以外の) 項目
- onDrop
- IBiPredicate
null 以外の場合、サブスクライバーと項目の引数を使用してサブスクライバーへのドロップ時に呼び出されるハンドラー。true が返された場合、オファーは (1 回) 再試行されます
戻り値
負の場合は、(負の) ドロップ数。それ以外の場合は、最大ラグの推定値
- 属性
注釈
メソッドを非同期的に呼び出 Flow.Subscriber#onNext(Object) onNext
すことによって、指定された項目を可能な場合は、現在の各サブスクライバーに発行します。 リソースの制限を超えた場合、アイテムは 1 つ以上のサブスクライバーによって削除される可能性があります。その場合、指定されたハンドラー (null 以外の場合) が呼び出され、true が返された場合は 1 回再試行されます。 ハンドラーが呼び出されている間、他のスレッドによるこのクラスのメソッドへの他の呼び出しはブロックされます。 復旧が保証されない限り、オプションは通常、エラーのログ記録やサブスクライバーへのシグナルの Flow.Subscriber#onError(Throwable) onError
発行に限定されます。
このメソッドは、状態インジケーターを返します。負の場合は、(負の) ドロップ数を表します (サブスクライバーにアイテムを発行しようとして失敗しました)。 それ以外の場合は、すべての現在のサブスクライバー間の最大ラグ (送信されたが、まだ消費されていないアイテムの数) の見積もりです。 サブスクライバーがある場合、この値は少なくとも 1 つ (この送信済みアイテムを表します)、それ以外の場合は 0 です。
サブスクライバーに非同期通知しようとしたときに、このパブリッシャーの Executor が RejectedExecutionException (またはその他の RuntimeException または Error) をスローした場合、またはドロップ ハンドラーがドロップされたアイテムの処理中に例外をスローした場合、この例外は再スローされます。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
適用対象
Offer(Object, Int64, TimeUnit, IBiPredicate)
可能であれば、指定された項目を Flow.Subscriber#onNext(Object) onNext
現在のサブスクライバーに発行します。そのメソッドを非同期的に呼び出し、指定されたタイムアウトまで、または呼び出し元スレッドが中断されるまで、指定されたサブスクリプションのリソースが使用できない間にブロックします。その時点で、指定されたハンドラー (null 以外の場合) が呼び出され、true を返す場合は 1 回再試行されます。
[Android.Runtime.Register("offer", "(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;Ljava/util/function/BiPredicate;)I", "GetOffer_Ljava_lang_Object_JLjava_util_concurrent_TimeUnit_Ljava_util_function_BiPredicate_Handler", ApiSince=33)]
public virtual int Offer (Java.Lang.Object? item, long timeout, Java.Util.Concurrent.TimeUnit? unit, Java.Util.Functions.IBiPredicate? onDrop);
[<Android.Runtime.Register("offer", "(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;Ljava/util/function/BiPredicate;)I", "GetOffer_Ljava_lang_Object_JLjava_util_concurrent_TimeUnit_Ljava_util_function_BiPredicate_Handler", ApiSince=33)>]
abstract member Offer : Java.Lang.Object * int64 * Java.Util.Concurrent.TimeUnit * Java.Util.Functions.IBiPredicate -> int
override this.Offer : Java.Lang.Object * int64 * Java.Util.Concurrent.TimeUnit * Java.Util.Functions.IBiPredicate -> int
パラメーター
- item
- Object
発行する (null 以外の) 項目
- timeout
- Int64
サブスクライバーがリソースを待ってから、その後の時間を、 の単位で unit
- unit
- TimeUnit
TimeUnit
パラメーターの解釈方法を決定するtimeout
- onDrop
- IBiPredicate
null 以外の場合、サブスクライバーと項目の引数を使用してサブスクライバーへのドロップ時に呼び出されるハンドラー。true が返された場合、オファーは (1 回) 再試行されます
戻り値
負の場合は、(負の) ドロップ数。それ以外の場合は、最大ラグの推定値
- 属性
注釈
可能であれば、指定された項目を Flow.Subscriber#onNext(Object) onNext
現在のサブスクライバーに発行します。そのメソッドを非同期的に呼び出し、指定されたタイムアウトまで、または呼び出し元スレッドが中断されるまで、指定されたサブスクリプションのリソースが使用できない間にブロックします。その時点で、指定されたハンドラー (null 以外の場合) が呼び出され、true を返す場合は 1 回再試行されます。 (ドロップ ハンドラーは、現在のスレッドが中断されているかどうかを確認することで、タイムアウトと割り込みを区別できます)。ハンドラーが呼び出されている間、他のスレッドによるこのクラスのメソッドへの他の呼び出しはブロックされます。 復旧が保証されない限り、オプションは通常、エラーのログ記録やサブスクライバーへのシグナルの Flow.Subscriber#onError(Throwable) onError
発行に限定されます。
このメソッドは、状態インジケーターを返します。負の場合は、(負の) ドロップ数を表します (サブスクライバーにアイテムを発行しようとして失敗しました)。 それ以外の場合は、すべての現在のサブスクライバー間の最大ラグ (送信されたが、まだ消費されていないアイテムの数) の見積もりです。 サブスクライバーがある場合、この値は少なくとも 1 つ (この送信済みアイテムを表します)、それ以外の場合は 0 です。
サブスクライバーに非同期通知しようとしたときに、このパブリッシャーの Executor が RejectedExecutionException (またはその他の RuntimeException または Error) をスローした場合、またはドロップ ハンドラーがドロップされたアイテムの処理中に例外をスローした場合、この例外は再スローされます。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。