emit
Emits a value to this shared flow, suspending on buffer overflow.
This call can suspend only when the BufferOverflow strategy is SUSPEND and there are subscribers collecting this shared flow.
If there are no subscribers, the buffer is not used. Instead, the most recently emitted value is simply stored into the replay cache if one was configured, displacing the older elements there, or dropped if no replay cache was configured.
See tryEmit for a non-suspending variant of this function.
This method is thread-safe and can be safely invoked from concurrent coroutines without external synchronization.