Skip to content

Commit 59feac8

Browse files
Remove TargetIdGenerator
1 parent f1ddd70 commit 59feac8

File tree

5 files changed

+11
-178
lines changed

5 files changed

+11
-178
lines changed

packages/firestore/src/core/sync_engine.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,6 @@ import { ListenSequence } from './listen_sequence';
5151
import { Query, LimitType } from './query';
5252
import { SnapshotVersion } from './snapshot_version';
5353
import { Target } from './target';
54-
import { TargetIdGenerator } from './target_id_generator';
5554
import { Transaction } from './transaction';
5655
import {
5756
BatchId,
@@ -161,7 +160,7 @@ export class SyncEngine implements RemoteSyncer, SharedClientStateSyncer {
161160
};
162161
/** Stores user callbacks waiting for all pending writes to be acknowledged. */
163162
private pendingWritesCallbacks = new Map<BatchId, Array<Deferred<void>>>();
164-
private limboTargetIdGenerator = TargetIdGenerator.forSyncEngine();
163+
private nextLimboTargetId = 1;
165164

166165
// The primary state is set to `true` or `false` immediately after Firestore
167166
// startup. In the interim, a client should only be considered primary if
@@ -770,7 +769,11 @@ export class SyncEngine implements RemoteSyncer, SharedClientStateSyncer {
770769
const key = limboChange.key;
771770
if (!this.limboTargetsByKey.get(key)) {
772771
logDebug(LOG_TAG, 'New document in limbo: ' + key);
773-
const limboTargetId = this.limboTargetIdGenerator.next();
772+
773+
const limboTargetId = this.nextLimboTargetId;
774+
// Target IDs in persistence are odd (and start at 1).
775+
this.nextLimboTargetId += 2;
776+
774777
const query = Query.atPath(key.path);
775778
this.limboResolutionsByTarget[limboTargetId] = new LimboResolution(key);
776779
this.remoteStore.listen(

packages/firestore/src/core/target_id_generator.ts

Lines changed: 0 additions & 97 deletions
This file was deleted.

packages/firestore/src/local/indexeddb_target_cache.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import { DocumentKey } from '../model/document_key';
2323
import { assert } from '../util/assert';
2424
import { immediateSuccessor } from '../util/misc';
2525

26-
import { TargetIdGenerator } from '../core/target_id_generator';
2726
import * as EncodedResourcePath from './encoded_resource_path';
2827
import {
2928
IndexedDbLruDelegate,
@@ -60,15 +59,12 @@ export class IndexedDbTargetCache implements TargetCache {
6059
// to IndexedDb whenever we need to read metadata. We can revisit if it turns
6160
// out to have a meaningful performance impact.
6261

63-
private targetIdGenerator = TargetIdGenerator.forTargetCache();
64-
6562
allocateTargetId(
6663
transaction: PersistenceTransaction
6764
): PersistencePromise<TargetId> {
6865
return this.retrieveMetadata(transaction).next(metadata => {
69-
metadata.highestTargetId = this.targetIdGenerator.after(
70-
metadata.highestTargetId
71-
);
66+
// Target IDs in persistence are even.
67+
metadata.highestTargetId = metadata.highestTargetId + 2;
7268
return this.saveMetadata(transaction, metadata).next(
7369
() => metadata.highestTargetId
7470
);

packages/firestore/src/local/memory_target_cache.ts

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
*/
1717

1818
import { SnapshotVersion } from '../core/snapshot_version';
19-
import { TargetIdGenerator } from '../core/target_id_generator';
2019
import { ListenSequenceNumber, TargetId } from '../core/types';
2120
import { DocumentKeySet } from '../model/collections';
2221
import { DocumentKey } from '../model/document_key';
@@ -52,8 +51,6 @@ export class MemoryTargetCache implements TargetCache {
5251

5352
private targetCount = 0;
5453

55-
private targetIdGenerator = TargetIdGenerator.forTargetCache();
56-
5754
constructor(private readonly persistence: MemoryPersistence) {}
5855

5956
forEachTarget(
@@ -79,9 +76,9 @@ export class MemoryTargetCache implements TargetCache {
7976
allocateTargetId(
8077
transaction: PersistenceTransaction
8178
): PersistencePromise<TargetId> {
82-
const nextTargetId = this.targetIdGenerator.after(this.highestTargetId);
83-
this.highestTargetId = nextTargetId;
84-
return PersistencePromise.resolve(nextTargetId);
79+
// Target IDs in persistence are even.
80+
this.highestTargetId = this.highestTargetId + 2;
81+
return PersistencePromise.resolve(this.highestTargetId);
8582
}
8683

8784
setTargetsMetadata(
@@ -100,10 +97,6 @@ export class MemoryTargetCache implements TargetCache {
10097

10198
private saveTargetData(targetData: TargetData): void {
10299
this.targets.set(targetData.target, targetData);
103-
const targetId = targetData.targetId;
104-
if (targetId > this.highestTargetId) {
105-
this.highestTargetId = targetId;
106-
}
107100
if (targetData.sequenceNumber > this.highestSequenceNumber) {
108101
this.highestSequenceNumber = targetData.sequenceNumber;
109102
}

packages/firestore/test/unit/core/target_id_generator.test.ts

Lines changed: 0 additions & 62 deletions
This file was deleted.

0 commit comments

Comments
 (0)