refCount 即使在出错后也保持连接
refCount keeping connection even after an error
我正在使用 refCount 保持 BLE 连接 5 分钟。在我遇到连接问题之前,此方法运行良好,refCount 仍保持连接并重播重播错误。
有什么方法可以让 refCount 在出现错误时立即断开连接,或者让重播不重播错误?
bleDevice
.establishConnection(false)
.replay(1)
.refCount(1, 5, TimeUnit.MINUTES)
实现您想要的效果的简单方法是使用 RxJava 3 refCount
运算符。您可以使用 RxJava 2 <=> 3 互操作性库 RxJavaBridge.
val connectionObservable = bleDevice
.establishConnection(false)
.`as`(RxJavaBridge.toV3Observable())
.replay(1)
.refCount(1, 5, TimeUnit.MINUTES)
.to(RxJavaBridge.toV2Observable()) // optional if you want to stick to RxJava 3
我正在使用 refCount 保持 BLE 连接 5 分钟。在我遇到连接问题之前,此方法运行良好,refCount 仍保持连接并重播重播错误。
有什么方法可以让 refCount 在出现错误时立即断开连接,或者让重播不重播错误?
bleDevice
.establishConnection(false)
.replay(1)
.refCount(1, 5, TimeUnit.MINUTES)
实现您想要的效果的简单方法是使用 RxJava 3 refCount
运算符。您可以使用 RxJava 2 <=> 3 互操作性库 RxJavaBridge.
val connectionObservable = bleDevice
.establishConnection(false)
.`as`(RxJavaBridge.toV3Observable())
.replay(1)
.refCount(1, 5, TimeUnit.MINUTES)
.to(RxJavaBridge.toV2Observable()) // optional if you want to stick to RxJava 3