reactor / reactor-core

Non-Blocking Reactive Foundation for the JVM
http://projectreactor.io
Apache License 2.0
4.92k stars 1.2k forks source link

Repeat specification for use with repeatWhen operator #3545

Open chemicL opened 1 year ago

chemicL commented 1 year ago

Similarly to the way Retry is implemented with accompanying retryWhen(RetrySpec) operator, the Repeat functionality from reactor-addons project should be implemented in reactor-core and phased out from reactor-extras (module of reactor-addons). It can potentially reuse the primitives that already exist for the retry functionality.

Desislav-Petrov commented 1 year ago

Hi @chemicL - i'm keen to explore this one - could you please assign to me? Thanks

Desislav-Petrov commented 1 year ago

hi @chemicL - i was looking at how the retry has been ported from addons to the core as an inspiration for the repeat. Looks like the port hasn't been exactly 1;1 in terms of functionality so I assume that will be the case for repeat as well. Do we need to preserve all the functionality that's currently offered by the addons repeat? Any guidance will be appreciated.

chemicL commented 1 year ago

@OlegDokuka can you please respond when you find a moment? (I'm going to be away for a few days)

OlegDokuka commented 1 year ago

@Desislav-Petrov we don't literally have to port impl from reactor-addons but rather create a shared common for both retry and repeat operators. That means the logic implemented in Retry builder can go into something like "CommonRecurring" (or whatever name we endup) and then implement Repeat builder having that base mechanism as well as Retry.

Desislav-Petrov commented 12 months ago

Got you - thanks, will have a go