SubmissionPublisher.Offer Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Sobrecargas
| Nombre | Description |
|---|---|
| Offer(Object, IBiPredicate) |
Publica el elemento especificado, si es posible, en cada suscriptor actual invocando de forma asincrónica su |
| Offer(Object, Int64, TimeUnit, IBiPredicate) |
Publica el elemento especificado, si es posible, para cada suscriptor actual invocando de forma asincrónica su |
Offer(Object, IBiPredicate)
Publica el elemento especificado, si es posible, en cada suscriptor actual invocando de forma asincrónica su 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
el elemento (distinto de null) que se va a publicar
- onDrop
- IBiPredicate
si no es null, el controlador invocado tras una colocación en un suscriptor, con argumentos del suscriptor y el elemento; si devuelve true, se vuelve a intentar una oferta (una vez)
Devoluciones
si es negativo, el número (negativo) de caídas; de lo contrario, una estimación del retraso máximo
- Atributos
Comentarios
Publica el elemento especificado, si es posible, en cada suscriptor actual invocando de forma asincrónica su Flow.Subscriber#onNext(Object) onNext método. Uno o varios suscriptores pueden quitar el elemento si se superan los límites de recursos, en cuyo caso se invoca el controlador especificado (si no es null) y, si devuelve true, se reintenta una vez. Otras llamadas a métodos de esta clase por otros subprocesos se bloquean mientras se invoca el controlador. A menos que se asegure la recuperación, las opciones suelen limitarse a registrar el error o emitir una Flow.Subscriber#onError(Throwable) onError señal al suscriptor.
Este método devuelve un indicador de estado: si es negativo, representa el número (negativo) de caídas (intentos erróneos de emitir el elemento a un suscriptor). De lo contrario, es una estimación del retraso máximo (número de elementos enviados pero aún no consumidos) entre todos los suscriptores actuales. Este valor es al menos uno (teniendo en cuenta este elemento enviado) si hay suscriptores, en caso contrario cero.
Si el ejecutor de este publicador inicia una excepción RejectedExecutionException (o cualquier otro RuntimeException o Error) al intentar notificar de forma asincrónica a los suscriptores, o el controlador de colocación produce una excepción al procesar un elemento descartado, esta excepción se vuelve a iniciar.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.
Se aplica a
Offer(Object, Int64, TimeUnit, IBiPredicate)
Publica el elemento especificado, si es posible, para cada suscriptor actual invocando de forma asincrónica su Flow.Subscriber#onNext(Object) onNext método, bloqueando mientras los recursos de cualquier suscripción no están disponibles, hasta el tiempo de espera especificado o hasta que se interrumpa el subproceso del autor de la llamada, en cuyo punto se invoca el controlador especificado (si no es null) y, si devuelve true, se reintenta una 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
el elemento (distinto de null) que se va a publicar
- timeout
- Int64
cuánto tiempo se debe esperar a los recursos de cualquier suscriptor antes de renunciar, en unidades de unit
- unit
- TimeUnit
que TimeUnit determina cómo interpretar el timeout parámetro
- onDrop
- IBiPredicate
si no es null, el controlador invocado tras una colocación en un suscriptor, con argumentos del suscriptor y el elemento; si devuelve true, se vuelve a intentar una oferta (una vez)
Devoluciones
si es negativo, el número (negativo) de caídas; de lo contrario, una estimación del retraso máximo
- Atributos
Comentarios
Publica el elemento especificado, si es posible, para cada suscriptor actual invocando de forma asincrónica su Flow.Subscriber#onNext(Object) onNext método, bloqueando mientras los recursos de cualquier suscripción no están disponibles, hasta el tiempo de espera especificado o hasta que se interrumpa el subproceso del autor de la llamada, en cuyo punto se invoca el controlador especificado (si no es null) y, si devuelve true, se reintenta una vez. (El controlador de colocación puede distinguir los tiempos de espera de las interrupciones comprobando si se interrumpe el subproceso actual). Otras llamadas a métodos de esta clase por otros subprocesos se bloquean mientras se invoca el controlador. A menos que se asegure la recuperación, las opciones suelen limitarse a registrar el error o emitir una Flow.Subscriber#onError(Throwable) onError señal al suscriptor.
Este método devuelve un indicador de estado: si es negativo, representa el número (negativo) de caídas (intentos erróneos de emitir el elemento a un suscriptor). De lo contrario, es una estimación del retraso máximo (número de elementos enviados pero aún no consumidos) entre todos los suscriptores actuales. Este valor es al menos uno (teniendo en cuenta este elemento enviado) si hay suscriptores, en caso contrario cero.
Si el ejecutor de este publicador inicia una excepción RejectedExecutionException (o cualquier otro RuntimeException o Error) al intentar notificar de forma asincrónica a los suscriptores, o el controlador de colocación produce una excepción al procesar un elemento descartado, esta excepción se vuelve a iniciar.
Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.