in rx-central-ble/src/main/java/com/uber/rxcentralble/core/operations/Read.java [35:47]
public Read(UUID svc, UUID chr, int timeoutMs) {
resultSingle =
peripheralRelay
.filter(Optional::isPresent)
.map(Optional::get)
.firstOrError()
.doOnSuccess(g -> peripheralRelay.accept(Optional.empty()))
.flatMap(peripheral -> peripheral.read(svc, chr))
.toObservable()
.share()
.firstOrError()
.timeout(timeoutMs, TimeUnit.MILLISECONDS);
}