Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

127
Vistas
MutableSharedFlow - diferencia entre reproducción y extraBufferCapacity

MutableSharedFlow toma 3 parámetros: reproducción, extraBufferCapacity y onBufferOverflow. ¿Cuál es la diferencia entre reproducción y extraBufferCapacity?

La documentación menciona lo siguiente:

reproducción: la cantidad de valores reproducidos a los nuevos suscriptores (no puede ser negativo, el valor predeterminado es cero).

extraBufferCapacity: el número de valores almacenados en búfer además de la reproducción. emit no se suspende mientras queda un espacio de búfer (opcional, no puede ser negativo, el valor predeterminado es cero).

No entiendo exactamente la diferencia entre los 2 y cuándo necesitaríamos extraBufferCapacity> 0. ¿ExtraBufferCapacity es solo una capacidad de reproducción adicional para los emisores?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

¿ExtraBufferCapacity es solo una capacidad de reproducción adicional para los emisores?

La terminología de "repetición" solo tiene sentido para los suscriptores, no para los emisores. El parámetro replay define cuántos valores pasados recibirán los nuevos suscriptores al suscribirse. Obviamente, implica que esos valores deben almacenarse, por lo que el búfer general debe ser al menos así de grande.

Sin embargo, el tamaño del búfer en su conjunto afecta a los emisores. La consecuencia exacta de un búfer lleno depende de onBufferOverflow , pero este tamaño de búfer se puede usar para controlar la contrapresión en los emisores (ralentizándolos) o cómo soltamos mensajes. Con un búfer más grande, puede permitir que los emisores tengan ráfagas de emisiones sin ralentizarlos, como cualquier búfer regular.

Ahora, elegir tener un búfer más grande no debería obligarlo a reproducir esos valores almacenados en el búfer a los nuevos suscriptores, de ahí el extraBufferCapacity . Con extraBufferCapacity > 0 , puede definir un búfer de cualquier tamaño deseado sin obligarlo a reproducir tantos valores, simplemente usando la fórmula:

 bufferSize = replay + extraBufferCapacity

Por ejemplo, podría decidir no reproducir ningún valor para los nuevos suscriptores, pero aún así permitir ráfagas de emisores al tener algún búfer (no reproducido).

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda