Похожие чаты

RxJava question. I have an Observable that emits big decimal numbers

(or integers, doen'st matter actually). And I have a threshold value defined at observable composition time. Threshold is not going to change during observable life time, in other words.
What I need is to filter out values that differ from the last passed one within the threshold. Or rephrase it: pass value downstream only if it differs from the last passed one more than the threshold.
Example:
Source observable values:
[5, 4, 7, 9, 15, 14, 13, 12, 11, 7, 3, 2, 1]

Filetered values with threshold = 3 :
[5, 9, 15, 11, 7, 3]

To illustrate it better, lets assume that it's temperature readings, for example. I wan't to filter only those values where temperature changes more than 3 degree. The very first value always passes and serves as an initial value to compare to. If for example first temperature reading was 21 Celsius and within and hour each subsequent reading was in [18..24] then none of those values should pass downstream. But as soon as it gets over those bounds it shoud be passed and create new bounds to compare to.

The question is: does anyone knows a way to do this with RxJava operators only? Or there's no other way besides storing state outside rx pipeline (in volatile or atomic reference or any other synchronized state, details don't matter) ?

1 ответов

24 просмотра
Dmytro-Buryak Автор вопроса

Nevermind, problem solved with Observable.scan operator.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
@Benzenoid can you tell me the easiest, and safest way to bu.y HEX now?
Živa Žena
20
This is a question from my wife who make a fortune with memes 😂😂 About the Migration and Tokens: 1. How will the old tokens be migrated to the new $LGCYX network? What is th...
🍿 °anton°
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
What is the Dex situation? Agora team started with the Pnetwork for their dex which helped them both with integration. It’s completed but as you can see from the Pnetwork ann...
Ben
1
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Anyone knows where there are some instructions or discort about failed bridge transactions ?
Jochem
21
@lozuk how do I get my phex copies of my ehex from a atomic wallet, to move to my rabby?
Justfrontin 👀
11
Карта сайта