aboutsummaryrefslogtreecommitdiffhomepage
path: root/Firestore/Source/Local
diff options
context:
space:
mode:
authorGravatar zxu <zxu@google.com>2018-01-25 18:39:46 -0500
committerGravatar GitHub <noreply@github.com>2018-01-25 18:39:46 -0500
commit7226b4adf38e4732dfb9a840d25f86d3e5533bdb (patch)
tree01c7d79608eae5221deca452f8e461f2758b1ef0 /Firestore/Source/Local
parent53064743963d7e5cc12f7a42bb036814f5a6df17 (diff)
port TargetIdGenerator to iOS (#709)
* port TargetIdGenerator to iOS * fix style * move pointer property to instance variable * TriggerTravis
Diffstat (limited to 'Firestore/Source/Local')
-rw-r--r--Firestore/Source/Local/FSTLocalStore.mm (renamed from Firestore/Source/Local/FSTLocalStore.m)19
1 files changed, 12 insertions, 7 deletions
diff --git a/Firestore/Source/Local/FSTLocalStore.m b/Firestore/Source/Local/FSTLocalStore.mm
index 3a5b0b4..fa77e37 100644
--- a/Firestore/Source/Local/FSTLocalStore.m
+++ b/Firestore/Source/Local/FSTLocalStore.mm
@@ -20,7 +20,6 @@
#import "Firestore/Source/Core/FSTListenSequence.h"
#import "Firestore/Source/Core/FSTQuery.h"
#import "Firestore/Source/Core/FSTSnapshotVersion.h"
-#import "Firestore/Source/Core/FSTTargetIDGenerator.h"
#import "Firestore/Source/Core/FSTTimestamp.h"
#import "Firestore/Source/Local/FSTGarbageCollector.h"
#import "Firestore/Source/Local/FSTLocalDocumentsView.h"
@@ -42,6 +41,8 @@
#import "Firestore/Source/Util/FSTAssert.h"
#import "Firestore/Source/Util/FSTLogger.h"
+#include "Firestore/core/src/firebase/firestore/core/target_id_generator.h"
+
NS_ASSUME_NONNULL_BEGIN
@interface FSTLocalStore ()
@@ -74,9 +75,6 @@ NS_ASSUME_NONNULL_BEGIN
/** Maps a targetID to data about its query. */
@property(nonatomic, strong) NSMutableDictionary<NSNumber *, FSTQueryData *> *targetIDs;
-/** Used to generate targetIDs for queries tracked locally. */
-@property(nonatomic, strong) FSTTargetIDGenerator *targetIDGenerator;
-
@property(nonatomic, strong) FSTListenSequence *listenSequence;
/**
@@ -92,7 +90,10 @@ NS_ASSUME_NONNULL_BEGIN
@end
-@implementation FSTLocalStore
+@implementation FSTLocalStore {
+ /** Used to generate targetIDs for queries tracked locally. */
+ firebase::firestore::core::TargetIdGenerator _targetIDGenerator;
+}
- (instancetype)initWithPersistence:(id<FSTPersistence>)persistence
garbageCollector:(id<FSTGarbageCollector>)garbageCollector
@@ -113,6 +114,9 @@ NS_ASSUME_NONNULL_BEGIN
_targetIDs = [NSMutableDictionary dictionary];
_heldBatchResults = [NSMutableArray array];
+
+ _targetIDGenerator =
+ firebase::firestore::core::TargetIdGenerator::LocalStoreTargetIdGenerator(0);
}
return self;
}
@@ -150,7 +154,8 @@ NS_ASSUME_NONNULL_BEGIN
[self.queryCache start];
FSTTargetID targetID = [self.queryCache highestTargetID];
- self.targetIDGenerator = [FSTTargetIDGenerator generatorForLocalStoreStartingAfterID:targetID];
+ _targetIDGenerator =
+ firebase::firestore::core::TargetIdGenerator::LocalStoreTargetIdGenerator(targetID);
FSTListenSequenceNumber sequenceNumber = [self.queryCache highestListenSequenceNumber];
self.listenSequence = [[FSTListenSequence alloc] initStartingAfter:sequenceNumber];
}
@@ -393,7 +398,7 @@ NS_ASSUME_NONNULL_BEGIN
} else {
FSTWriteGroup *group = [self.persistence startGroupWithAction:@"Allocate query"];
- targetID = [self.targetIDGenerator nextID];
+ targetID = _targetIDGenerator.NextId();
cached = [[FSTQueryData alloc] initWithQuery:query
targetID:targetID
listenSequenceNumber:sequenceNumber