0

我有一个 Monix Observable,它发出无限的数据流

case class Foo(id: String, value: Int)

我想要一个背压控制,它只保留每个 Foo::id 的 1 条记录,并删除旧的:

Observable.create(OverflowStrategy.DropOld(100)) { /* emits Foo's */ }

但显然 100 不是正确的数量,我无法根据 id 字符串精确控制。如果洪水迅速涌入,我可能会得到 99Foo(a,xx)和 1 。Foo(b,xxx)

有什么办法可以做到这一点?

4

0 回答 0