03 · Refresh — nur die neueste Generation

03 · Refresh — nur die neueste Generation A sequence diagram generated by Archify. refresh() → Generation 1 startRefresh(1), asynchron refresh() → Generation 2 Snapshot 1 fertig veraltet → startRefresh(2) Snapshot 2 fertig und aktuell vollständig → Modelle + ready Auslöser · Hardware / UI · Sequence participant Auslöser Hardware / UI USBDeviceManager · Main Queue · Sequence participant USBDeviceManager Main Queue USBDeviceDiscovery · Serielle Utility Queue · Sequence participant USBDeviceDiscovery Serielle Utility Queue SwiftUI · Beobachtet @Published · Sequence participant SwiftUI Beobachtet @Published Legend request return async trace

Ein laufender USB-Auftrag

  • • Weitere Anfragen erhöhen nur latestGeneration.
  • • Nach Abschluss startet direkt der neueste Auftrag.

Auslöser haben eigene Wege

  • • Wake / Session: HardwareRefreshCoordinator, 350 ms.
  • • USB-Monitor direkt; manuell auch Bluetooth / Strom / LAN.

Publikation ist eine zweite Schranke

  • • Aktuelle Generation allein reicht nicht: isComplete nötig.
  • • Bei Fehlern bleibt der letzte vollständige Snapshot erhalten.