fun <E> BroadcastChannel(capacity: Int): BroadcastChannel<E>

Creates a broadcast channel with the specified buffer capacity.

The resulting channel type depends on the specified capacity parameter:

  • when capacity positive, but less than UNLIMITED -- creates ArrayBroadcastChannel with a buffer of given capacity. Note: this channel looses all items that are send to it until the first subscriber appears;

  • when capacity is CONFLATED -- creates ConflatedBroadcastChannel that conflates back-to-back sends;

  • when capacity is BUFFERED -- creates ArrayBroadcastChannel with a default capacity.

  • otherwise -- throws IllegalArgumentException.

Note: This API is obsolete since 1.5.0. It will be deprecated with warning in 1.6.0 and with error in 1.7.0. It is replaced with StateFlow and SharedFlow.


common source
Link copied to clipboard