SubmissionPublisher.Offer Methode

Definition

Überlädt

Name Beschreibung
Offer(Object, IBiPredicate)

Veröffentlicht das angegebene Element, falls möglich, für jeden aktuellen Abonnent, indem er seine Flow.Subscriber#onNext(Object) onNext Methode asynchron aufruft.

Offer(Object, Int64, TimeUnit, IBiPredicate)

Veröffentlicht das angegebene Element nach Möglichkeit für jeden aktuellen Abonnent, indem er seine Flow.Subscriber#onNext(Object) onNext Methode asynchron aufruft, sperrt, während Ressourcen für ein Abonnement nicht verfügbar sind, bis zum angegebenen Timeout oder bis der Aufruferthread unterbrochen wird, an welchem Punkt der angegebene Handler (wenn nicht null) aufgerufen wird, und wenn er "true" zurückgibt, einmal wiederholt.

Offer(Object, IBiPredicate)

Veröffentlicht das angegebene Element, falls möglich, für jeden aktuellen Abonnent, indem er seine Flow.Subscriber#onNext(Object) onNext Methode asynchron aufruft.

[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

Parameter

item
Object

das zu veröffentlichende (nicht null) Element

onDrop
IBiPredicate

wenn nicht null, wird der Handler, der bei einem Ablagepunkt eines Abonnenten aufgerufen wird, mit Argumenten des Abonnenten und Elements; wenn es "true" zurückgibt, wird ein Angebot erneut versucht (einmal)

Gibt zurück

wenn negativ, die (negative) Anzahl von Tropfen; andernfalls eine Schätzung der maximalen Verzögerung

Attribute

Hinweise

Veröffentlicht das angegebene Element, falls möglich, für jeden aktuellen Abonnent, indem er seine Flow.Subscriber#onNext(Object) onNext Methode asynchron aufruft. Das Element kann von einem oder mehreren Abonnenten gelöscht werden, wenn Ressourcengrenzwerte überschritten werden, in diesem Fall wird der angegebene Handler (wenn nicht null) aufgerufen wird, und wenn es "true" zurückgibt, einmal wiederholt. Andere Aufrufe von Methoden in dieser Klasse durch andere Threads werden blockiert, während der Handler aufgerufen wird. Sofern keine Wiederherstellung gewährleistet ist, sind die Optionen in der Regel auf die Protokollierung des Fehlers und/oder das Ausgeben eines Flow.Subscriber#onError(Throwable) onError Signals für den Abonnenten beschränkt.

Diese Methode gibt einen Statusindikator zurück: Wenn negativ, stellt sie die (negative) Anzahl von Tropfen dar (fehlgeschlagene Versuche, das Element einem Abonnent ausstellen). Andernfalls handelt es sich um eine Schätzung der maximalen Verzögerung (Anzahl der übermittelten, aber noch nicht verbrauchten Elemente) unter allen aktuellen Abonnenten. Dieser Wert ist mindestens ein Wert (für dieses übermittelte Element), wenn abonnenten vorhanden sind, andernfalls 0.

Wenn der Executor für diesen Herausgeber beim Versuch, Abonnenten asynchron zu benachrichtigen, eine RejectedExecutionException (oder einen anderen RuntimeException oder Fehler) auslöst oder der Drop-Handler beim Verarbeiten eines verworfenen Elements eine Ausnahme auslöst, wird diese Ausnahme erneut ausgelöst.

Java Dokumentation für java.util.concurrent.SubmissionPublisher.offer(T, java.util.function.BiPredicate<java.util.concurrent.Flow.Subscriber<? super T>, ? super T>).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für:

Offer(Object, Int64, TimeUnit, IBiPredicate)

Veröffentlicht das angegebene Element nach Möglichkeit für jeden aktuellen Abonnent, indem er seine Flow.Subscriber#onNext(Object) onNext Methode asynchron aufruft, sperrt, während Ressourcen für ein Abonnement nicht verfügbar sind, bis zum angegebenen Timeout oder bis der Aufruferthread unterbrochen wird, an welchem Punkt der angegebene Handler (wenn nicht null) aufgerufen wird, und wenn er "true" zurückgibt, einmal wiederholt.

[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

Parameter

item
Object

das zu veröffentlichende (nicht null) Element

timeout
Int64

wie lange auf Ressourcen für jeden Abonnenten warten muss, bevor er aufgibt, in Einheiten von unit

unit
TimeUnit

eine TimeUnit Bestimmung, wie der timeout Parameter interpretiert werden soll

onDrop
IBiPredicate

wenn nicht null, wird der Handler, der bei einem Ablagepunkt eines Abonnenten aufgerufen wird, mit Argumenten des Abonnenten und Elements; wenn es "true" zurückgibt, wird ein Angebot erneut versucht (einmal)

Gibt zurück

wenn negativ, die (negative) Anzahl von Tropfen; andernfalls eine Schätzung der maximalen Verzögerung

Attribute

Hinweise

Veröffentlicht das angegebene Element nach Möglichkeit für jeden aktuellen Abonnent, indem er seine Flow.Subscriber#onNext(Object) onNext Methode asynchron aufruft, sperrt, während Ressourcen für ein Abonnement nicht verfügbar sind, bis zum angegebenen Timeout oder bis der Aufruferthread unterbrochen wird, an welchem Punkt der angegebene Handler (wenn nicht null) aufgerufen wird, und wenn er "true" zurückgibt, einmal wiederholt. (Der Drophandler kann Timeouts von Unterbrechungen unterscheiden, indem überprüft wird, ob der aktuelle Thread unterbrochen wird.) Andere Aufrufe von Methoden in dieser Klasse durch andere Threads werden blockiert, während der Handler aufgerufen wird. Sofern keine Wiederherstellung gewährleistet ist, sind die Optionen in der Regel auf die Protokollierung des Fehlers und/oder das Ausgeben eines Flow.Subscriber#onError(Throwable) onError Signals für den Abonnenten beschränkt.

Diese Methode gibt einen Statusindikator zurück: Wenn negativ, stellt sie die (negative) Anzahl von Tropfen dar (fehlgeschlagene Versuche, das Element einem Abonnent ausstellen). Andernfalls handelt es sich um eine Schätzung der maximalen Verzögerung (Anzahl der übermittelten, aber noch nicht verbrauchten Elemente) unter allen aktuellen Abonnenten. Dieser Wert ist mindestens ein Wert (für dieses übermittelte Element), wenn abonnenten vorhanden sind, andernfalls 0.

Wenn der Executor für diesen Herausgeber beim Versuch, Abonnenten asynchron zu benachrichtigen, eine RejectedExecutionException (oder einen anderen RuntimeException oder Fehler) auslöst oder der Drop-Handler beim Verarbeiten eines verworfenen Elements eine Ausnahme auslöst, wird diese Ausnahme erneut ausgelöst.

Java Dokumentation für java.util.concurrent.SubmissionPublisher.offer(T, long, java.util.concurrent.TimeUnit, java.util.function.BiPredicate<java.util.concurrent.Flow.Subscriber<? super T>, ? super T>).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: