如何在发出不同数量项的RxJava2运算符中创建背压

时间:2017-08-17 10:48:13

标签: java rx-java2

我正在尝试为RxJava2中的Flowable创建一些背压尊重操作。

具体来说,我正在解析一个XML文档:我有一个Flowable的byte []流,并将其转换为XMLEvents(标记开头,标记结束,内容,那种东西)

没有背压,它工作正常,就像在这个RxJava1运算符中一样: https://github.com/flyaruu/xml-rx/blob/master/src/main/java/nl/codemonkey/xml_aalto_rxjava/XML.java

我将此移植到RxJava2,并希望添加背压功能,但我真的很挣扎。

我正在查看此部分:https://github.com/ReactiveX/RxJava/wiki/Writing-operators-for-2.0#request-accounting

有一个使用drain方法的RebatchRequests的例子,但是我无法弄清楚所有的单字母变量,优化的代码,什么是通用的'drain'代码以及什么是RebatchRequests特有的甚至是什么上游和下游的概念甚至意味着在这种背景下。

我有一种感觉我错过了一些明显的东西,因为我正在尝试做的事情看起来非常通用:在这种情况下我使用了一个项目,一个byte [],这导致了零或多个XMLEvents。根据我需要重新平衡请求的项目数量。有没有这样做的例子?还是一些教程?

0 个答案:

没有答案