Skip to content

Rb since support #630

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: development
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions Split.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,7 @@
59FB7C35220329B900ECC96A /* SplitFactoryBuilderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59FB7C34220329B900ECC96A /* SplitFactoryBuilderTests.swift */; };
59FB7C3C2203795F00ECC96A /* LocalhostSplitsParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59FB7C3B2203795F00ECC96A /* LocalhostSplitsParser.swift */; };
59FB7C3E22037B9400ECC96A /* SpaceDelimitedLocalhostSplitsParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59FB7C3D22037B9400ECC96A /* SpaceDelimitedLocalhostSplitsParser.swift */; };
5BF3C2E82DC12E3C00AD2186 /* SplitsSyncHelperTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5BF3C2E72DC12E3200AD2186 /* SplitsSyncHelperTest.swift */; };
9500D9922C56F9BA00383593 /* HostDomainFilterTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9500D9912C56F9BA00383593 /* HostDomainFilterTests.swift */; };
9500D9A92C59297400383593 /* HostDomainFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9500D9A82C59297400383593 /* HostDomainFilter.swift */; };
9500D9AA2C59382000383593 /* HostDomainFilter.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9500D9A82C59297400383593 /* HostDomainFilter.swift */; };
Expand Down Expand Up @@ -1529,6 +1530,7 @@
59FB7C34220329B900ECC96A /* SplitFactoryBuilderTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SplitFactoryBuilderTests.swift; sourceTree = "<group>"; };
59FB7C3B2203795F00ECC96A /* LocalhostSplitsParser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocalhostSplitsParser.swift; sourceTree = "<group>"; };
59FB7C3D22037B9400ECC96A /* SpaceDelimitedLocalhostSplitsParser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpaceDelimitedLocalhostSplitsParser.swift; sourceTree = "<group>"; };
5BF3C2E72DC12E3200AD2186 /* SplitsSyncHelperTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SplitsSyncHelperTest.swift; sourceTree = "<group>"; };
9500D9912C56F9BA00383593 /* HostDomainFilterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HostDomainFilterTests.swift; sourceTree = "<group>"; };
9500D9A82C59297400383593 /* HostDomainFilter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HostDomainFilter.swift; sourceTree = "<group>"; };
9500D9AC2C5A918300383593 /* split_cache_v5.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = split_cache_v5.xcdatamodel; sourceTree = "<group>"; };
Expand Down Expand Up @@ -2747,7 +2749,7 @@
path = Fake;
sourceTree = "<group>";
};
5912D150219A005400BC698C /* Helpers */ = {
5912D150219A005400BC698C /* TestsHelpers */ = {
isa = PBXGroup;
children = (
95ED4AA2264999BD00FD3569 /* IntegrationHelper.swift */,
Expand All @@ -2766,7 +2768,7 @@
952BF5FB278DF66700FF6181 /* TelemetryConfigHelperStub.swift */,
95F7BC282C46A4C800C5F2E4 /* SecurityHelper.swift */,
);
path = Helpers;
path = TestsHelpers;
sourceTree = "<group>";
};
59163B11216396EF00C7AA57 /* Common */ = {
Expand Down Expand Up @@ -2838,7 +2840,7 @@
5919017924A273C4005BD12A /* HttpClient */,
595AD1F624D9CDE400A7B750 /* SplitFilter */,
599A6E3222FC67BF00D3D68C /* Integration */,
5912D150219A005400BC698C /* Helpers */,
5912D150219A005400BC698C /* TestsHelpers */,
590DF9CD213EB92D0082B94F /* Fake */,
592C6AF1211CBD63002D120C /* Supporting Files */,
592C6ADB211CBB86002D120C /* Resources */,
Expand Down Expand Up @@ -3348,6 +3350,7 @@
956A7E26297EC8130080D53C /* Splits */ = {
isa = PBXGroup;
children = (
5BF3C2E72DC12E3200AD2186 /* SplitsSyncHelperTest.swift */,
59F4AABC2513A2E800A1C69A /* SplitsUpdateWorkerTest.swift */,
956D17D0260D266E0037F575 /* SplitsChangesCheckerTest.swift */,
59F4AABE2513A97B00A1C69A /* PeriodicSplitsSyncWorkerTest.swift */,
Expand Down Expand Up @@ -4664,6 +4667,7 @@
C5977C572BF53D60003E293A /* UnsupportedMatcherIntegrationTest.swift in Sources */,
95B1800527626C70002DC9DF /* TelemetryConfigRecorderWorkerTests.swift in Sources */,
95ABF4C6293522D6006ED016 /* EventsTrackerTest.swift in Sources */,
5BF3C2E82DC12E3C00AD2186 /* SplitsSyncHelperTest.swift in Sources */,
95ABF4C829352425006ED016 /* EventValidatorStub.swift in Sources */,
59F4AAC42513EFF800A1C69A /* PeriodicMySegmentsSyncWorkerTest.swift in Sources */,
31AA21DE01A000A7C30630F2 /* SseClientTest.swift in Sources */,
Expand Down
4 changes: 4 additions & 0 deletions Split/Api/SplitDatabaseHelper.swift
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,10 @@ struct SplitDatabaseHelper {
static func openPersistentSplitsStorage(database: SplitDatabase) -> PersistentSplitsStorage {
return DefaultPersistentSplitsStorage(database: database)
}

static func openPersistentRuleBasedSegmentsStorage(database: SplitDatabase, storage: GeneralInfoStorage) -> PersistentRuleBasedSegmentsStorage {
return DefaultPersistentRuleBasedSegmentsStorage(database: database, generalInfoStorage: storage)
}

static func openSplitsStorage(database: SplitDatabase,
flagSetsCache: FlagSetsCache) -> SplitsStorage {
Expand Down
12 changes: 6 additions & 6 deletions Split/FetcherEngine/HttpSplitFetcher.swift
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@
import Foundation

protocol HttpSplitFetcher {
func execute(since: Int64, till: Int64?, headers: HttpHeaders?) throws -> SplitChange
func executeForTargetingRules(since: Int64, till: Int64?, headers: HttpHeaders?) throws -> TargetingRulesChange
func execute(since: Int64, rbSince: Int64?, till: Int64?, headers: HttpHeaders?) throws -> SplitChange
func executeForTargetingRules(since: Int64, rbSince: Int64?, till: Int64?, headers: HttpHeaders?) throws -> TargetingRulesChange
}

class DefaultHttpSplitFetcher: HttpSplitFetcher {
Expand All @@ -22,19 +22,19 @@ class DefaultHttpSplitFetcher: HttpSplitFetcher {
self.syncHelper = syncHelper
}

func execute(since: Int64, till: Int64?, headers: HttpHeaders? = nil) throws -> SplitChange {
let targetingRulesChange = try executeForTargetingRules(since: since, till: till, headers: headers)
func execute(since: Int64, rbSince: Int64? = nil, till: Int64?, headers: HttpHeaders? = nil) throws -> SplitChange {
let targetingRulesChange = try executeForTargetingRules(since: since, rbSince: rbSince, till: till, headers: headers)
return targetingRulesChange.featureFlags
}

func executeForTargetingRules(since: Int64, till: Int64?, headers: HttpHeaders? = nil) throws -> TargetingRulesChange {
func executeForTargetingRules(since: Int64, rbSince: Int64?, till: Int64?, headers: HttpHeaders? = nil) throws -> TargetingRulesChange {
Logger.d("Fetching targeting rules definitions")
try syncHelper.checkEndpointReachability(restClient: restClient, resource: resource)

let semaphore = DispatchSemaphore(value: 0)
var requestResult: DataResult<TargetingRulesChange>?
let startTime = Date.nowMillis()
restClient.getSplitChanges(since: since, till: till, headers: headers) { result in
restClient.getSplitChanges(since: since, rbSince: rbSince, till: till, headers: headers) { result in
TimeChecker.logInterval("Time to fetch targeting rules", startTime: startTime)
requestResult = result
semaphore.signal()
Expand Down
8 changes: 8 additions & 0 deletions Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift
Original file line number Diff line number Diff line change
Expand Up @@ -47,29 +47,37 @@
private let splitFetcher: HttpSplitFetcher
private let splitsStorage: BackgroundSyncSplitsStorage
private let persistenSplitsStorage: PersistentSplitsStorage

private let ruleBasedSegmentsStorage: RuleBasedSegmentsStorage
private let persistentRuleBasedSegmentsStorage: PersistentRuleBasedSegmentsStorage

private let splitChangeProcessor: SplitChangeProcessor
private let cacheExpiration: Int64
private let syncHelper: SplitsSyncHelper

init(splitFetcher: HttpSplitFetcher,
persistentSplitsStorage: PersistentSplitsStorage,
ruleBasedSementsStorage: PersistentRuleBasedSegmentsStorage,
splitChangeProcessor: SplitChangeProcessor,
cacheExpiration: Int64,
splitConfig: SplitClientConfig) {

self.persistenSplitsStorage = persistentSplitsStorage
self.persistentRuleBasedSegmentsStorage = ruleBasedSementsStorage
self.splitFetcher = splitFetcher
self.splitsStorage = BackgroundSyncSplitsStorage(persistentSplitsStorage: persistentSplitsStorage)
self.ruleBasedSegmentsStorage = DefaultRuleBasedSegmentsStorage(persistentStorage: persistentRuleBasedSegmentsStorage)
self.splitChangeProcessor = splitChangeProcessor
self.cacheExpiration = cacheExpiration
self.syncHelper = SplitsSyncHelper(splitFetcher: splitFetcher,
splitsStorage: splitsStorage,
ruleBasedSegmentsStorage: ruleBasedSegmentsStorage,
splitChangeProcessor: splitChangeProcessor,
splitConfig: splitConfig)
}

func execute() {
var changeNumber = persistenSplitsStorage.getChangeNumber()

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSUnit_4) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSUnit_4) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSStreaming_2) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSStreaming_2) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SemVer) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSUnit) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SemVer) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSUnit) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSUnit_3) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSUnit_3) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSStreaming) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSStreaming) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitStreamingUT) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitStreamingUT) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSStreaming_1) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSStreaming_1) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitPushManagerUT) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitPushManagerUT) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSUnit_2) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSUnit_2) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSIntegration_1) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSIntegration_1) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSUnit_1) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSUnit_1) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSIntegration) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant

Check warning on line 80 in Split/FetcherEngine/Refresh/BackgroundSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSIntegration) / test

variable 'changeNumber' was never mutated; consider changing to 'let' constant
_ = try? syncHelper.sync(since: changeNumber, clearBeforeUpdate: false)
}
}
6 changes: 5 additions & 1 deletion Split/FetcherEngine/Refresh/PeriodicSyncWorker.swift
Original file line number Diff line number Diff line change
Expand Up @@ -141,21 +141,25 @@ class PeriodicSplitsSyncWorker: BasePeriodicSyncWorker {

private let splitFetcher: HttpSplitFetcher
private let splitsStorage: SplitsStorage
private let ruleBasedSegmentsStorage: RuleBasedSegmentsStorage
private let splitChangeProcessor: SplitChangeProcessor
private let syncHelper: SplitsSyncHelper

init(splitFetcher: HttpSplitFetcher,
splitsStorage: SplitsStorage,
ruleBasedSegmentsStorage: RuleBasedSegmentsStorage,
splitChangeProcessor: SplitChangeProcessor,
timer: PeriodicTimer,
eventsManager: SplitEventsManager,
splitConfig: SplitClientConfig) {

self.splitFetcher = splitFetcher
self.splitsStorage = splitsStorage
self.ruleBasedSegmentsStorage = ruleBasedSegmentsStorage
self.splitChangeProcessor = splitChangeProcessor
self.syncHelper = SplitsSyncHelper(splitFetcher: splitFetcher,
splitsStorage: splitsStorage,
ruleBasedSegmentsStorage: ruleBasedSegmentsStorage,
splitChangeProcessor: splitChangeProcessor,
splitConfig: splitConfig)
super.init(timer: timer,
Expand All @@ -168,7 +172,7 @@ class PeriodicSplitsSyncWorker: BasePeriodicSyncWorker {
return
}

guard let result = try? syncHelper.sync(since: splitsStorage.changeNumber) else {
guard let result = try? syncHelper.sync(since: splitsStorage.changeNumber, rbSince: ruleBasedSegmentsStorage.changeNumber) else {
return
}
if result.success, result.featureFlagsUpdated {
Expand Down
19 changes: 15 additions & 4 deletions Split/FetcherEngine/Refresh/RetryableSyncWorker.swift
Original file line number Diff line number Diff line change
Expand Up @@ -104,21 +104,25 @@

private let splitFetcher: HttpSplitFetcher
private let splitsStorage: SplitsStorage
private let ruleBasedSegmentsStorage: RuleBasedSegmentsStorage
private let splitChangeProcessor: SplitChangeProcessor
private let syncHelper: SplitsSyncHelper

init(splitFetcher: HttpSplitFetcher,
splitsStorage: SplitsStorage,
ruleBasedSegmentsStorage: RuleBasedSegmentsStorage,
splitChangeProcessor: SplitChangeProcessor,
eventsManager: SplitEventsManager,
reconnectBackoffCounter: ReconnectBackoffCounter,
splitConfig: SplitClientConfig) {

self.splitFetcher = splitFetcher
self.splitsStorage = splitsStorage
self.ruleBasedSegmentsStorage = ruleBasedSegmentsStorage
self.splitChangeProcessor = splitChangeProcessor
self.syncHelper = SplitsSyncHelper(splitFetcher: splitFetcher,
splitsStorage: splitsStorage,
ruleBasedSegmentsStorage: ruleBasedSegmentsStorage,
splitChangeProcessor: splitChangeProcessor,
splitConfig: splitConfig)
super.init(eventsManager: eventsManager,
Expand All @@ -127,7 +131,7 @@

override func fetchFromRemote() throws -> Bool {
do {
let result = try syncHelper.sync(since: splitsStorage.changeNumber, clearBeforeUpdate: false)
let result = try syncHelper.sync(since: splitsStorage.changeNumber, rbSince: ruleBasedSegmentsStorage.changeNumber, clearBeforeUpdate: false)
if result.success {
if !isSdkReadyTriggered() ||
result.featureFlagsUpdated {
Expand All @@ -148,13 +152,15 @@

private let splitsFetcher: HttpSplitFetcher
private let splitsStorage: SplitsStorage
private let ruleBasedSegmentsStorage: RuleBasedSegmentsStorage
private let splitChangeProcessor: SplitChangeProcessor
private let changeNumber: Int64
private let syncHelper: SplitsSyncHelper
var changeChecker: SplitsChangesChecker

init(splitsFetcher: HttpSplitFetcher,
splitsStorage: SplitsStorage,
ruleBasedSegmentsStorage: RuleBasedSegmentsStorage,
splitChangeProcessor: SplitChangeProcessor,
changeNumber: Int64,
eventsManager: SplitEventsManager,
Expand All @@ -163,26 +169,31 @@

self.splitsFetcher = splitsFetcher
self.splitsStorage = splitsStorage
self.ruleBasedSegmentsStorage = ruleBasedSegmentsStorage
self.splitChangeProcessor = splitChangeProcessor
self.changeNumber = changeNumber
self.changeChecker = DefaultSplitsChangesChecker()

self.syncHelper = SplitsSyncHelper(splitFetcher: splitsFetcher,
splitsStorage: splitsStorage,
ruleBasedSegmentsStorage: ruleBasedSegmentsStorage,
splitChangeProcessor: splitChangeProcessor,
splitConfig: splitConfig)
super.init(eventsManager: eventsManager,
reconnectBackoffCounter: reconnectBackoffCounter)
}

override func fetchFromRemote() throws -> Bool {
let storedChangeNumber = splitsStorage.changeNumber
if changeNumber <= storedChangeNumber {
let splitsStoredChangedNumber = splitsStorage.changeNumber
let ruleBasedSegmentsStoredChangeNumber = ruleBasedSegmentsStorage.changeNumber

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSUnit_4) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSUnit_4) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSStreaming_2) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSStreaming_2) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SemVer) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSUnit) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SemVer) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSUnit) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSUnit_3) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSUnit_3) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSStreaming) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSStreaming) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitStreamingUT) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitStreamingUT) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSStreaming_1) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSStreaming_1) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitPushManagerUT) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitPushManagerUT) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSUnit_2) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSUnit_2) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSIntegration_1) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSIntegration_1) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSUnit_1) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSUnit_1) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSIntegration) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

Check warning on line 188 in Split/FetcherEngine/Refresh/RetryableSyncWorker.swift

View workflow job for this annotation

GitHub Actions / test (SplitiOSIntegration) / test

initialization of immutable value 'ruleBasedSegmentsStoredChangeNumber' was never used; consider replacing with assignment to '_' or removing it

if changeNumber <= splitsStoredChangedNumber { //} && rbsChangeNumber <= ruleBasedSegmentsStoredChangeNumber { // TODO: use real variable
return true
}

do {
let result = try syncHelper.sync(since: storedChangeNumber,
let result = try syncHelper.sync(since: splitsStoredChangedNumber,
rbSince: changeNumber,
till: changeNumber,
clearBeforeUpdate: false,
headers: ServiceConstants.controlNoCacheHeader)
Expand Down
4 changes: 4 additions & 0 deletions Split/FetcherEngine/Refresh/SplitBgSynchronizer.swift
Original file line number Diff line number Diff line change
Expand Up @@ -163,8 +163,11 @@ struct BackgroundSyncExecutor {
dbHelper: dbHelper) else {
throw GenericError.couldNotCreateCache
}

let splitsStorage = SplitDatabaseHelper.openPersistentSplitsStorage(database: splitDatabase)
let generalInfoStorage = SplitDatabaseHelper.openGeneralInfoStorage(database: splitDatabase)

let ruleBasedSegmentsStorage = SplitDatabaseHelper.openPersistentRuleBasedSegmentsStorage(database: splitDatabase, storage: generalInfoStorage)
let endpoints = serviceEndpoints ?? ServiceEndpoints.builder().build()
let endpointFactory = EndpointFactory(serviceEndpoints: endpoints,
apiKey: apiKey,
Expand All @@ -191,6 +194,7 @@ struct BackgroundSyncExecutor {
let changeProcessor = DefaultSplitChangeProcessor(filterBySet: bySetsFilter)
self.splitsSyncWorker = BackgroundSplitsSyncWorker(splitFetcher: splitsFetcher,
persistentSplitsStorage: splitsStorage,
ruleBasedSementsStorage: ruleBasedSegmentsStorage,
splitChangeProcessor: changeProcessor,
cacheExpiration: cacheExpiration,
splitConfig: SplitClientConfig())
Expand Down
Loading
Loading