'Why is tryEmit not included in the FlowCollector interface?

MutableSharedFlow and MutableStateFlow (via inheritance) include both the emit suspend function and the best effort, non-suspend tryEmit. But FlowCollector only includes emit in the interface. It seems to me the there no reason why the FlowCollector can't provide tryEmit as well given that it's safe enough to include in MutableSharedFlow.

It would be useful to be able to emit into a 'collector' interface like FlowCollector without launching a coroutine and dealing with the lifecycle issues coming from that. so why the omission?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source