private ObservableTransformer shareConnection()

in rx-central-ble/src/main/java/com/uber/rxcentralble/core/CoreConnectionManager.java [182:193]


  private ObservableTransformer<Peripheral, Peripheral> shareConnection() {
    return peripheral -> peripheral
            .doOnNext(connectablePeripheral -> stateRelay.accept(State.CONNECTED))
            .doOnDispose(() -> stateRelay.accept(State.DISCONNECTED))
            .doOnError(error -> stateRelay.accept(State.DISCONNECTED_WITH_ERROR))
            .doFinally(() -> {
              this.sharedPeripheralObservable = null;
              this.scanMatcher = null;
            })
            .replay(1)
            .refCount();
  }