SubmissionPublisher.Offer Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Sobrecargas
| Nome | Description |
|---|---|
| Offer(Object, IBiPredicate) |
Publica o item determinado, se possível, para cada assinante atual invocando de forma assíncrona seu |
| Offer(Object, Int64, TimeUnit, IBiPredicate) |
Publica o item determinado, se possível, para cada assinante atual invocando de forma assíncrona seu |
Offer(Object, IBiPredicate)
Publica o item determinado, se possível, para cada assinante atual invocando de forma assíncrona seu Flow.Subscriber#onNext(Object) onNext método.
[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
Parâmetros
- item
- Object
o item (não nulo) a ser publicado
- onDrop
- IBiPredicate
se não for nulo, o manipulador invocado após uma queda para um assinante, com argumentos do assinante e do item; se ele retornar true, uma oferta será tentada novamente (uma vez)
Retornos
se negativo, o número (negativo) de quedas; caso contrário, uma estimativa de atraso máximo
- Atributos
Comentários
Publica o item determinado, se possível, para cada assinante atual invocando de forma assíncrona seu Flow.Subscriber#onNext(Object) onNext método. O item poderá ser descartado por um ou mais assinantes se os limites de recursos forem excedidos, nesse caso, o manipulador determinado (se não nulo) for invocado e, se ele retornar true, novamente repetido uma vez. Outras chamadas para métodos nessa classe por outros threads são bloqueadas enquanto o manipulador é invocado. A menos que a recuperação seja garantida, as opções geralmente são limitadas ao registro em log do erro e/ou à emissão de um Flow.Subscriber#onError(Throwable) onError sinal para o assinante.
Esse método retorna um indicador de status: se negativo, representa o número (negativo) de quedas (tentativas com falha de emitir o item para um assinante). Caso contrário, é uma estimativa do atraso máximo (número de itens enviados, mas ainda não consumidos) entre todos os assinantes atuais. Esse valor será pelo menos um (contabilizando este item enviado) se houver assinantes, caso contrário, zero.
Se o Executor deste editor gerar um RejectedExecutionException (ou qualquer outro RuntimeException ou Error) ao tentar notificar os assinantes de forma assíncrona ou o manipulador de descarte gerará uma exceção ao processar um item descartado, essa exceção será relançada.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.
Aplica-se a
Offer(Object, Int64, TimeUnit, IBiPredicate)
Publica o item determinado, se possível, para cada assinante atual invocando de forma assíncrona seu Flow.Subscriber#onNext(Object) onNext método, bloqueando enquanto os recursos de qualquer assinatura estão indisponíveis, até o tempo limite especificado ou até que o thread do chamador seja interrompido, momento em que o manipulador determinado (se não nulo) é invocado e, se ele retornar true, novamente repetido uma vez.
[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
Parâmetros
- item
- Object
o item (não nulo) a ser publicado
- timeout
- Int64
quanto tempo esperar por recursos para qualquer assinante antes de desistir, em unidades de unit
- unit
- TimeUnit
uma TimeUnit determinação de como interpretar o timeout parâmetro
- onDrop
- IBiPredicate
se não for nulo, o manipulador invocado após uma queda para um assinante, com argumentos do assinante e do item; se ele retornar true, uma oferta será tentada novamente (uma vez)
Retornos
se negativo, o número (negativo) de quedas; caso contrário, uma estimativa de atraso máximo
- Atributos
Comentários
Publica o item determinado, se possível, para cada assinante atual invocando de forma assíncrona seu Flow.Subscriber#onNext(Object) onNext método, bloqueando enquanto os recursos de qualquer assinatura estão indisponíveis, até o tempo limite especificado ou até que o thread do chamador seja interrompido, momento em que o manipulador determinado (se não nulo) é invocado e, se ele retornar true, novamente repetido uma vez. (O manipulador de descarte pode distinguir tempos limite de interrupções verificando se o thread atual é interrompido.) Outras chamadas para métodos nessa classe por outros threads são bloqueadas enquanto o manipulador é invocado. A menos que a recuperação seja garantida, as opções geralmente são limitadas ao registro em log do erro e/ou à emissão de um Flow.Subscriber#onError(Throwable) onError sinal para o assinante.
Esse método retorna um indicador de status: se negativo, representa o número (negativo) de quedas (tentativas com falha de emitir o item para um assinante). Caso contrário, é uma estimativa do atraso máximo (número de itens enviados, mas ainda não consumidos) entre todos os assinantes atuais. Esse valor será pelo menos um (contabilizando este item enviado) se houver assinantes, caso contrário, zero.
Se o Executor deste editor gerar um RejectedExecutionException (ou qualquer outro RuntimeException ou Error) ao tentar notificar os assinantes de forma assíncrona ou o manipulador de descarte gerará uma exceção ao processar um item descartado, essa exceção será relançada.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.