         self.serviceType = "_" + self.sanitizeCharsToDNSChars(str: serviceType) + "._tcp"
         
         self.serverPort = serverPort
-        self.bluetoothOnly = overBluetoothOnly
         self.delegateQueue = queue
+        if let interfaces = interfaces {
+            self.bluepeerInterfaces = interfaces
+        }
         
         var name = UIDevice.current.name
         if let displayName = displayName {

        peer.customData = customData
        DLog("serviceDidResolve for \(peer.displayName) - addresses \(hhaddresses.count), peer.role: \(role), peer.state: \(peer.state), #customData:\(customData.count)")
        
        var limitToBluetooth = self.bluetoothOnly
        let candidates = hhaddresses.filter({ $0.isCandidateAddress(bluetoothOnly: limitToBluetooth) })
        if peer.state != .notConnected {
            DLog("... has state!=notConnected, so no-op")
            return
        } else if candidates.count == 0 {
            DLog("... no candidates out of \(hhaddresses.count) addresses. moreComing = \(moreComing)")
            if hhaddresses.count > 1 && !moreComing {
                if (self.browsingWorkaroundRestarts >= 3) {
                    DLog(" *** workarounds exhausted! falling back to not bluetoothOnly")
                    self.browsingWorkaroundRestarts = 0
                    limitToBluetooth = false
                    let secondaryCandidates = hhaddresses.filter({ $0.isCandidateAddress(bluetoothOnly: limitToBluetooth) })
                    if (secondaryCandidates.count <= 0) {
                        DLog("... STILL no candidates. Bummer.")
                        return

    case poweredOff = 1
    case poweredOn = 2
    case other = 3
}

@objc public enum BluepeerInterfaces: Int {
    case any = 0
    case infrastructureModeWifiOnly
    case notWifi
}


