Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Contribute a Mutiny module to kotlinx.coroutines/reactive #1325

Open
heubeck opened this issue Jul 25, 2023 · 8 comments
Open

Contribute a Mutiny module to kotlinx.coroutines/reactive #1325

heubeck opened this issue Jul 25, 2023 · 8 comments
Assignees
Labels
Kotlin Kotlin support

Comments

@heubeck
Copy link
Collaborator

heubeck commented Jul 25, 2023

There's a collection of Kotlin coroutine support modules for different reactive libraries.

Moving the coroutines integrations from mutiny-kotlin to https://github.com/Kotlin/kotlinx.coroutines/tree/master/reactive would make reuse of some exising Publisher/Coroutine implementions over there possible.

On the other side, it would raise awareness for Mutiny in the Kotlin community.

Phases:

  1. contribute kotlinx-coroutines-reactive-mutiny
  2. refactor mutiny-kotlin to use kotlinx-coroutines-reactive-mutiny

Considerations:

  • additional dependencies for mutiny-kotlin and all downstream projects
  • one of the downstream projects is Quarkus, which means that native image builds needs to be possible with kotlinx-coroutines-reactive
  • changes would have longer lead time, due to upstream contribution to kotlinx-coroutines-reactive - could be mitigated by a multi-phase fix in mutiny-kotlin first, contribution to coroutines-reactive, adoption of that fix in mutiny-kotlin.

/cc @hantsy @Sanne @MartinX3 @rgmz @FWest98 @jponge

@cescoffier
Copy link
Contributor

Is this project using Java Flow or still the legacy reactive stream API?

@heubeck
Copy link
Collaborator Author

heubeck commented Jul 25, 2023

Is this project using Java Flow or still the legacy reactive stream API?

Flow: https://github.com/Kotlin/kotlinx.coroutines/tree/master/reactive/kotlinx-coroutines-jdk9

@hantsy
Copy link

hantsy commented Jul 25, 2023

Under this project, it includes several modules.

  • kotlinx-coroutines-jdk9 for JDK 9 Flow
  • kotlinx-coroutines-reactive for Reactive Streams APIs
  • kotlinx-coroutines-reactor for Reactor, depends on kotlinx-coroutines-reactive
  • kotlinx-coroutines-rx2 for RxJava 2, depends on kotlinx-coroutines-reactive
  • kotlinx-coroutines-rx3 for RxJava 3, depends on kotlinx-coroutines-reactive

@hantsy
Copy link

hantsy commented Jul 25, 2023

The new kotlinx-coroutines-mutiny can reuse kotlinx-coroutines-jdk9.

@jponge
Copy link
Member

jponge commented Jul 25, 2023

Sounds good

@hantsy
Copy link

hantsy commented Oct 23, 2023

Any update for this?

@heubeck
Copy link
Collaborator Author

heubeck commented Oct 24, 2023

Not yet, pardon me. Lack of time atm, but honestly planning to proceed asap.

@jponge
Copy link
Member

jponge commented Oct 24, 2023

Don't worry @heubeck 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Kotlin Kotlin support
Projects
None yet
Development

No branches or pull requests

4 participants