SubmissionPublisher.Offer Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
| Nome | Descrizione |
|---|---|
| Offer(Object, IBiPredicate) |
Pubblica l'elemento specificato, se possibile, in ogni sottoscrittore corrente richiamando in modo asincrono il relativo |
| Offer(Object, Int64, TimeUnit, IBiPredicate) |
Pubblica l'elemento specificato, se possibile, in ogni sottoscrittore corrente richiamando in modo asincrono il |
Offer(Object, IBiPredicate)
Pubblica l'elemento specificato, se possibile, in ogni sottoscrittore corrente richiamando in modo asincrono il relativo Flow.Subscriber#onNext(Object) onNext metodo.
[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
Parametri
- item
- Object
elemento (non Null) da pubblicare
- onDrop
- IBiPredicate
se non null, il gestore richiamato su un rilascio a un sottoscrittore, con argomenti del sottoscrittore e dell'elemento; se restituisce true, viene eseguito un nuovo tentativo di offerta (una volta)
Valori restituiti
se negativo, il numero (negativo) di gocce; in caso contrario, una stima del ritardo massimo
- Attributi
Commenti
Pubblica l'elemento specificato, se possibile, in ogni sottoscrittore corrente richiamando in modo asincrono il relativo Flow.Subscriber#onNext(Object) onNext metodo. L'elemento può essere eliminato da uno o più sottoscrittori se vengono superati i limiti delle risorse, nel qual caso viene richiamato il gestore specificato (se non Null) e, se restituisce true, ritentare una volta. Altre chiamate ai metodi in questa classe da altri thread vengono bloccate mentre il gestore viene richiamato. A meno che il ripristino non sia garantito, le opzioni sono in genere limitate alla registrazione dell'errore e/o all'emissione di un Flow.Subscriber#onError(Throwable) onError segnale al sottoscrittore.
Questo metodo restituisce un indicatore di stato: se negativo, rappresenta il numero (negativo) di eliminazioni (tentativi non riusciti di rilasciare l'elemento a un sottoscrittore). In caso contrario, si tratta di una stima del ritardo massimo (numero di elementi inviati ma non ancora utilizzati) tra tutti i sottoscrittori correnti. Questo valore è almeno uno (tenendo conto dell'elemento inviato) se sono presenti sottoscrittori, altrimenti zero.
Se l'executor per questo server di pubblicazione genera un'eccezione RejectedExecutionException (o qualsiasi altra eccezione RuntimeException o Errore) quando si tenta di notificare in modo asincrono i sottoscrittori o il gestore di rilascio genera un'eccezione durante l'elaborazione di un elemento eliminato, questa eccezione viene rigenerata.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.
Si applica a
Offer(Object, Int64, TimeUnit, IBiPredicate)
Pubblica l'elemento specificato, se possibile, in ogni sottoscrittore corrente richiamando in modo asincrono il Flow.Subscriber#onNext(Object) onNext relativo metodo, bloccando mentre le risorse per qualsiasi sottoscrizione non sono disponibili, fino al timeout specificato o fino a quando il thread del chiamante non viene interrotto, a quel punto viene richiamato il gestore specificato (se non Null) e, se restituisce true, ritentare una volta.
[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
Parametri
- item
- Object
elemento (non Null) da pubblicare
- timeout
- Int64
quanto tempo attendere le risorse per qualsiasi sottoscrittore prima di rinunciare, in unità di unit
- unit
- TimeUnit
un oggetto TimeUnit che determina come interpretare il timeout parametro
- onDrop
- IBiPredicate
se non null, il gestore richiamato su un rilascio a un sottoscrittore, con argomenti del sottoscrittore e dell'elemento; se restituisce true, viene eseguito un nuovo tentativo di offerta (una volta)
Valori restituiti
se negativo, il numero (negativo) di gocce; in caso contrario, una stima del ritardo massimo
- Attributi
Commenti
Pubblica l'elemento specificato, se possibile, in ogni sottoscrittore corrente richiamando in modo asincrono il Flow.Subscriber#onNext(Object) onNext relativo metodo, bloccando mentre le risorse per qualsiasi sottoscrizione non sono disponibili, fino al timeout specificato o fino a quando il thread del chiamante non viene interrotto, a quel punto viene richiamato il gestore specificato (se non Null) e, se restituisce true, ritentare una volta. Il gestore di rilascio può distinguere i timeout dagli interrupt controllando se il thread corrente viene interrotto. Altre chiamate ai metodi in questa classe da altri thread vengono bloccate mentre il gestore viene richiamato. A meno che il ripristino non sia garantito, le opzioni sono in genere limitate alla registrazione dell'errore e/o all'emissione di un Flow.Subscriber#onError(Throwable) onError segnale al sottoscrittore.
Questo metodo restituisce un indicatore di stato: se negativo, rappresenta il numero (negativo) di eliminazioni (tentativi non riusciti di rilasciare l'elemento a un sottoscrittore). In caso contrario, si tratta di una stima del ritardo massimo (numero di elementi inviati ma non ancora utilizzati) tra tutti i sottoscrittori correnti. Questo valore è almeno uno (tenendo conto dell'elemento inviato) se sono presenti sottoscrittori, altrimenti zero.
Se l'executor per questo server di pubblicazione genera un'eccezione RejectedExecutionException (o qualsiasi altra eccezione RuntimeException o Errore) quando si tenta di notificare in modo asincrono i sottoscrittori o il gestore di rilascio genera un'eccezione durante l'elaborazione di un elemento eliminato, questa eccezione viene rigenerata.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.