 }
 
 @available(macOS 10.5, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
-internal extension DarwinCentral {
+private extension DarwinCentral {
     
     struct Cache {
         var peripherals = [Peripheral: CBPeripheral]()

        var isScanning: AsyncStream<Bool>.Continuation!
        var didDisconnect: AsyncStream<Peripheral>.Continuation!
        var state: AsyncStream<DarwinBluetoothState>.Continuation!
        var scan: AsyncThrowingStream<ScanData<Peripheral, Advertisement>, Error>.Continuation?
        var peripherals = [DarwinCentral.Peripheral: PeripheralContinuationContext]()
    }
    

        // read value
        peripheralObject.readRSSI()
        return true
    }
    
    func execute(_ operation: Operation.Scan) {
        log("Will scan for nearby devices")
        let serviceUUIDs: [CBUUID]? = operation.services.isEmpty ? nil : operation.services.map { CBUUID($0) }
        let options: [String: Any] = [
            CBCentralManagerScanOptionAllowDuplicatesKey: NSNumber(value: operation.filterDuplicates == false)
        ]
        // reset cache
        self.cache = Cache()
        // start scanning
        self.continuation.isScanning.yield(true)
        self.centralManager.scanForPeripherals(withServices: serviceUUIDs, options: options)
    }
}

