hivemq / hivemq-mqtt-client

HiveMQ MQTT Client is an MQTT 5.0 and MQTT 3.1.1 compatible and feature-rich high-performance Java client library with different API flavours and backpressure support
https://hivemq.github.io/hivemq-mqtt-client/
Apache License 2.0
827 stars 153 forks source link

Any plans for writing a Kotlin Coroutines/Flow API? #453

Open FilippoVigani opened 3 years ago

FilippoVigani commented 3 years ago

Are there any plans in implementing an interface to expose the methods via Kotlin coroutines and Flows? The reactive API is great but for Android or KMP users, using coroutines is a better choice in most cases.

SgtSilvio commented 3 years ago

Hi @FilippoVigani we have no concrete plans for this yet, but there are rough plans for a hivemq-mqtt-client-kotlin module with some extension methods where such an API could reside. Reactive Streams and Kotlin Flow should be easily interoperable (https://kotlinlang.org/docs/reference/coroutines/flow.html#flow-and-reactive-streams) and the architecture of the library is built to enable additions of new APIs easily (as we already did with the Rx, Async, Blocking and Reactor APIs). You may also create a PR with a POC for a kotlin API, if you like.

rcaceiro commented 3 years ago

@FilippoVigani supported It is important in the future to we able of using corroutines out-of-the-box

And thank you for this awsome client!

matthewadams commented 2 years ago

It's now May 2022. Any movement on this?

tessmerandre commented 5 months ago
  1. any news about it?
pglombardo commented 4 months ago

Hi all - just an update even though there isn't much - we've talked about this internally but nothing has been planned as of yet.

We see the comments and the votes in favor here. Keep them up as this allows us to better prioritize what gets done next.