From f5a2a1e29a2e4475df2439f62df986113b719489 Mon Sep 17 00:00:00 2001 From: jack Date: Mon, 25 Aug 2025 18:59:47 +0200 Subject: [PATCH] chore(BLE): move connect/duty/announce constants to TransportConfig and reference them --- bitchat/Services/BLEService.swift | 10 +++++----- bitchat/Services/TransportConfig.swift | 8 +++++++- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/bitchat/Services/BLEService.swift b/bitchat/Services/BLEService.swift index 34236072..01f0bb3a 100644 --- a/bitchat/Services/BLEService.swift +++ b/bitchat/Services/BLEService.swift @@ -70,7 +70,7 @@ final class BLEService: NSObject { // Simple announce throttling private var lastAnnounceSent = Date.distantPast - private let announceMinInterval: TimeInterval = 1.0 + private let announceMinInterval: TimeInterval = TransportConfig.bleAnnounceMinInterval // Application state tracking (thread-safe) #if os(iOS) @@ -129,8 +129,8 @@ final class BLEService: NSObject { private var maintenanceCounter = 0 // Track maintenance cycles // MARK: - Connection budget & scheduling (central role) - private let maxCentralLinks = 6 - private let connectRateLimitInterval: TimeInterval = 0.5 + private let maxCentralLinks = TransportConfig.bleMaxCentralLinks + private let connectRateLimitInterval: TimeInterval = TransportConfig.bleConnectRateLimitInterval private var lastGlobalConnectAttempt: Date = .distantPast private struct ConnectionCandidate { let peripheral: CBPeripheral @@ -147,8 +147,8 @@ final class BLEService: NSObject { // MARK: - Adaptive scanning duty-cycle private var scanDutyTimer: DispatchSourceTimer? private var dutyEnabled: Bool = true - private var dutyOnDuration: TimeInterval = 5 - private var dutyOffDuration: TimeInterval = 10 + private var dutyOnDuration: TimeInterval = TransportConfig.bleDutyOnDuration + private var dutyOffDuration: TimeInterval = TransportConfig.bleDutyOffDuration private var dutyActive: Bool = false // MARK: - Link capability snapshots (thread-safe via bleQueue) diff --git a/bitchat/Services/TransportConfig.swift b/bitchat/Services/TransportConfig.swift index f62fb937..730afc6d 100644 --- a/bitchat/Services/TransportConfig.swift +++ b/bitchat/Services/TransportConfig.swift @@ -18,5 +18,11 @@ enum TransportConfig { // Timers static let networkResetGraceSeconds: TimeInterval = 600 // 10 minutes static let basePublicFlushInterval: TimeInterval = 0.08 // ~12.5 fps batching -} + // BLE duty/announce/connect + static let bleConnectRateLimitInterval: TimeInterval = 0.5 + static let bleMaxCentralLinks: Int = 6 + static let bleDutyOnDuration: TimeInterval = 5.0 + static let bleDutyOffDuration: TimeInterval = 10.0 + static let bleAnnounceMinInterval: TimeInterval = 1.0 +}