SubmissionPublisher.Offer Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
| Name | Beschreibung |
|---|---|
| Offer(Object, IBiPredicate) |
Veröffentlicht das angegebene Element, falls möglich, für jeden aktuellen Abonnent, indem er seine |
| Offer(Object, Int64, TimeUnit, IBiPredicate) |
Veröffentlicht das angegebene Element nach Möglichkeit für jeden aktuellen Abonnent, indem er seine |
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.
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.
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.