field_ios

In-the-field app for Radroots on iOS
git clone https://radroots.dev/git/field_ios.git
Log | Files | Refs | README | LICENSE

TeraTodaySyncModels.swift (1501B)


      1 import Foundation
      2 
      3 enum TeraTodayRelaySyncState: Sendable, Equatable {
      4   case complete, partial, offline
      5 }
      6 
      7 enum TeraTodaySyncTermination: Sendable, Equatable {
      8   case complete, pageLimit, deadline, cancelled, sourceFailed
      9 }
     10 
     11 enum TeraTodayTargetSyncState: Sendable, Equatable {
     12   case complete, partial, unavailable, failedRetryable, failedTerminal, cancelled
     13 }
     14 
     15 struct TeraTodayTargetPageSummary: Sendable, Equatable {
     16   let pagesObserved: UInt16
     17   let incompletePages: UInt16
     18   let missingOutcomePages: UInt16
     19   let lastIncomplete: TeraTodayTargetSyncState?
     20 }
     21 
     22 struct TeraTodayTargetSyncReceipt: Sendable, Equatable {
     23   let targetFingerprint: String
     24   let finalState: TeraTodayTargetSyncState?
     25   let summary: TeraTodayTargetPageSummary?
     26 }
     27 
     28 struct TeraTodayDiscoveryReceipt: Sendable, Equatable {
     29   let continuation: String?
     30   let hadIncompleteResponses: Bool
     31 }
     32 
     33 struct TeraTodaySyncReceipt: Sendable, Equatable {
     34   let relayState: TeraTodayRelaySyncState
     35   let termination: TeraTodaySyncTermination
     36   let targets: [TeraTodayTargetSyncReceipt]
     37   let pagesFetched: UInt16
     38   let eventsObserved: UInt64
     39   let eventsAdmitted: UInt64
     40   let eventsRejected: UInt64
     41   let projection: TeraTodayRefreshReceipt
     42   let discovery: TeraTodayDiscoveryReceipt
     43 }
     44 
     45 struct TeraTodayRefreshReceipt: Sendable, Equatable {
     46   let update: TeraTodayProjectionUpdate
     47   let sourceEvents: UInt64
     48   let visibleCards: UInt64
     49   let profiles: UInt64
     50   let threadEntries: UInt64
     51   let contentGeneration: UInt64
     52   let changed: Bool
     53 }