Langue

SubmissionPublisher.Offer Méthode

Définition

Surcharges

Nom Description
Offer(Object, IBiPredicate)

Publie l’élément donné, le cas échéant, sur chaque abonné actuel en appelant de manière asynchrone sa Flow.Subscriber#onNext(Object) onNext méthode.

Offer(Object, Int64, TimeUnit, IBiPredicate)

Publie l’élément donné, si possible, sur chaque abonné actuel en appelant de manière asynchrone sa Flow.Subscriber#onNext(Object) onNext méthode, en bloquant pendant que les ressources d’un abonnement ne sont pas disponibles, jusqu’au délai d’attente spécifié ou jusqu’à ce que le thread d’appelant soit interrompu, à quel point le gestionnaire donné (si non null) est appelé, et s’il retourne la valeur true, retenté une fois.

Offer(Object, IBiPredicate)

Publie l’élément donné, le cas échéant, sur chaque abonné actuel en appelant de manière asynchrone sa Flow.Subscriber#onNext(Object) onNext méthode.

[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

Paramètres

item
Object

élément (non null) à publier

onDrop
IBiPredicate

si la valeur n’est pas null, le gestionnaire appelé lors d’une suppression vers un abonné, avec des arguments de l’abonné et de l’élément ; si elle retourne la valeur true, une offre est re-tentée (une seule fois)

Retours

si négatif, le nombre (négatif) de gouttes ; sinon, une estimation du décalage maximal

Attributs

Remarques

Publie l’élément donné, le cas échéant, sur chaque abonné actuel en appelant de manière asynchrone sa Flow.Subscriber#onNext(Object) onNext méthode. L’élément peut être supprimé par un ou plusieurs abonnés si les limites de ressources sont dépassées, auquel cas le gestionnaire donné (s’il n’est pas null) est appelé, et s’il retourne true, retenté une seule fois. D’autres appels aux méthodes de cette classe par d’autres threads sont bloqués pendant l’appel du gestionnaire. Sauf si la récupération est assurée, les options sont généralement limitées à la journalisation de l’erreur et/ou à l’émission d’un Flow.Subscriber#onError(Throwable) onError signal à l’abonné.

Cette méthode retourne un indicateur d’état : si elle est négative, elle représente le nombre (négatif) de baisses (échec de tentatives d’émission de l’élément à un abonné). Sinon, il s’agit d’une estimation du décalage maximal (nombre d’éléments soumis mais pas encore consommés) parmi tous les abonnés actuels. Cette valeur est au moins une (compte pour cet élément soumis) s’il existe des abonnés, sinon zéro.

Si l’exécuteur de ce serveur de publication lève une exception RejectedExecutionException (ou toute autre exception runtimeException ou erreur) lors d’une tentative d’avertir de manière asynchrone les abonnés, ou si le gestionnaire de suppression lève une exception lors du traitement d’un élément supprimé, cette exception est rethrown.

Java documentation pour java.util.concurrent.SubmissionPublisher.offer(T, java.util.function.BiPredicate<java.util.concurrent.Flow.Subscriber<? super T>, ? super T>).

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

S’applique à

Offer(Object, Int64, TimeUnit, IBiPredicate)

Publie l’élément donné, si possible, sur chaque abonné actuel en appelant de manière asynchrone sa Flow.Subscriber#onNext(Object) onNext méthode, en bloquant pendant que les ressources d’un abonnement ne sont pas disponibles, jusqu’au délai d’attente spécifié ou jusqu’à ce que le thread d’appelant soit interrompu, à quel point le gestionnaire donné (si non null) est appelé, et s’il retourne la valeur true, retenté une fois.

[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

Paramètres

item
Object

élément (non null) à publier

timeout
Int64

durée d’attente des ressources pour n’importe quel abonné avant de renoncer, en unités de unit

unit
TimeUnit

déterminer TimeUnit comment interpréter le timeout paramètre

onDrop
IBiPredicate

si la valeur n’est pas null, le gestionnaire appelé lors d’une suppression vers un abonné, avec des arguments de l’abonné et de l’élément ; si elle retourne la valeur true, une offre est re-tentée (une seule fois)

Retours

si négatif, le nombre (négatif) de gouttes ; sinon, une estimation du décalage maximal

Attributs

Remarques

Publie l’élément donné, si possible, sur chaque abonné actuel en appelant de manière asynchrone sa Flow.Subscriber#onNext(Object) onNext méthode, en bloquant pendant que les ressources d’un abonnement ne sont pas disponibles, jusqu’au délai d’attente spécifié ou jusqu’à ce que le thread d’appelant soit interrompu, à quel point le gestionnaire donné (si non null) est appelé, et s’il retourne la valeur true, retenté une fois. (Le gestionnaire de suppression peut distinguer les délais d’attente des interruptions en vérifiant si le thread actuel est interrompu.) D’autres appels aux méthodes de cette classe par d’autres threads sont bloqués pendant l’appel du gestionnaire. Sauf si la récupération est assurée, les options sont généralement limitées à la journalisation de l’erreur et/ou à l’émission d’un Flow.Subscriber#onError(Throwable) onError signal à l’abonné.

Cette méthode retourne un indicateur d’état : si elle est négative, elle représente le nombre (négatif) de baisses (échec de tentatives d’émission de l’élément à un abonné). Sinon, il s’agit d’une estimation du décalage maximal (nombre d’éléments soumis mais pas encore consommés) parmi tous les abonnés actuels. Cette valeur est au moins une (compte pour cet élément soumis) s’il existe des abonnés, sinon zéro.

Si l’exécuteur de ce serveur de publication lève une exception RejectedExecutionException (ou toute autre exception runtimeException ou erreur) lors d’une tentative d’avertir de manière asynchrone les abonnés, ou si le gestionnaire de suppression lève une exception lors du traitement d’un élément supprimé, cette exception est rethrown.

Java documentation pour java.util.concurrent.SubmissionPublisher.offer(T, long, java.util.concurrent.TimeUnit, java.util.function.BiPredicate<java.util.concurrent.Flow.Subscriber<? super T>, ? super T>).

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

S’applique à