我正在从一个正在通过串行连接解析消息的observable收集消息。
我有一段看起来像这样的代码,
Observable<Message> observer = SerialCommunication.create(portName)
.collect(new ArrayList<Byte>(), new ByteParser())
.filter(MessageParser::isMessageDone)
.map(MessageParser::parse);
我还有另一个用于发送消息的SerialCommuncation
的引用,所以我收到我期望的响应消息后,我需要调用onComplete()
。
但是我无法提出正确的方法来决定调用onComplete()
而不是太快(因此我实际上并没有收到所有回复),太慢或者完全没有。
实质上问题是,如何在我收到的时候拨打onComplete()
,例如对我发送的5个请求的5个回复。