From 1579c3809d3700dda0497b3158c75d4c585674a4 Mon Sep 17 00:00:00 2001 From: Greg Soltis Date: Wed, 20 Jun 2018 12:15:00 -0700 Subject: Remove Limbo Document GC (#1413) * Remove usage of eager garbage collector for tracking limbo document references * Fix style --- .../xcschemes/Firestore_FuzzTests_iOS.xcscheme | 13 +++++++ Firestore/Source/Core/FSTSyncEngine.mm | 42 +++++++++++----------- 2 files changed, 33 insertions(+), 22 deletions(-) (limited to 'Firestore') diff --git a/Firestore/Example/Firestore.xcodeproj/xcshareddata/xcschemes/Firestore_FuzzTests_iOS.xcscheme b/Firestore/Example/Firestore.xcodeproj/xcshareddata/xcschemes/Firestore_FuzzTests_iOS.xcscheme index 039273b..051b1a4 100644 --- a/Firestore/Example/Firestore.xcodeproj/xcshareddata/xcschemes/Firestore_FuzzTests_iOS.xcscheme +++ b/Firestore/Example/Firestore.xcodeproj/xcshareddata/xcschemes/Firestore_FuzzTests_iOS.xcscheme @@ -5,6 +5,19 @@ + + + + + + garbage = [self.limboCollector collectGarbage]; - for (const DocumentKey &key : garbage) { - const auto iter = _limboTargetsByKey.find(key); - if (iter == _limboTargetsByKey.end()) { - // This target already got removed, because the query failed. - return; - } - TargetId limboTargetID = iter->second; - [self.remoteStore stopListeningToTargetID:limboTargetID]; - _limboTargetsByKey.erase(key); - _limboKeysByTarget.erase(limboTargetID); +- (void)removeLimboTargetForKey:(const DocumentKey &)key { + const auto iter = _limboTargetsByKey.find(key); + if (iter == _limboTargetsByKey.end()) { + // This target already got removed, because the query failed. + return; } + TargetId limboTargetID = iter->second; + [self.remoteStore stopListeningToTargetID:limboTargetID]; + _limboTargetsByKey.erase(key); + _limboKeysByTarget.erase(limboTargetID); } // Used for testing -- cgit v1.2.3