Skip to content

Commit e0d7975

Browse files
authored
C++: eliminate FSTDispatchQueue and replace it with AsyncQueue (#2062)
* replace all references to `FSTDispatchQueue` and `FSTTimerID` with their C++ equivalents; * remove `FSTDispatchQueue` class and related tests; * in method argument names, replace `workerDispatchQueue` with just `workerQueue`, more similar to other platforms; * move `Executor` and derived classes out of `internal` namespace.
1 parent 1fce057 commit e0d7975

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+377
-905
lines changed

Firestore/Example/Firestore.xcodeproj/project.pbxproj

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,6 @@
175175
6EDD3B6020BF25AE00C33877 /* FSTFuzzTestsPrincipal.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6EDD3B5E20BF24D000C33877 /* FSTFuzzTestsPrincipal.mm */; };
176176
6F3CAC76D918D6B0917EDF92 /* query_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = B9C261C26C5D311E1E3C0CB9 /* query_test.cc */; };
177177
71719F9F1E33DC2100824A3D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 71719F9D1E33DC2100824A3D /* LaunchScreen.storyboard */; };
178-
7346E61D20325C6900FD6CEF /* FSTDispatchQueueTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7346E61C20325C6900FD6CEF /* FSTDispatchQueueTests.mm */; };
179178
73866AA12082B0A5009BB4FF /* FIRArrayTransformTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 73866A9F2082B069009BB4FF /* FIRArrayTransformTests.mm */; };
180179
73FE5066020EF9B2892C86BF /* hard_assert_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 444B7AB3F5A2929070CB1363 /* hard_assert_test.cc */; };
181180
84DBE646DCB49305879D3500 /* nanopb_string_test.cc in Sources */ = {isa = PBXBuildFile; fileRef = 353EEE078EF3F39A9B7279F6 /* nanopb_string_test.cc */; };
@@ -308,7 +307,7 @@
308307
2A0CF41BA5AED6049B0BEB2C /* type_traits_apple_test.mm */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.objcpp; path = type_traits_apple_test.mm; sourceTree = "<group>"; };
309308
2B50B3A0DF77100EEE887891 /* Pods_Firestore_Tests_iOS.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Firestore_Tests_iOS.framework; sourceTree = BUILT_PRODUCTS_DIR; };
310309
332485C4DCC6BA0DBB5E31B7 /* leveldb_util_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = leveldb_util_test.cc; sourceTree = "<group>"; };
311-
353EEE078EF3F39A9B7279F6 /* nanopb_string_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; name = nanopb_string_test.cc; path = nanopb/nanopb_string_test.cc; sourceTree = "<group>"; };
310+
353EEE078EF3F39A9B7279F6 /* nanopb_string_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; name = nanopb_string_test.cc; path = nanopb/nanopb_string_test.cc; sourceTree = "<group>"; };
312311
358C3B5FE573B1D60A4F7592 /* strerror_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = strerror_test.cc; sourceTree = "<group>"; };
313312
3B843E4A1F3930A400548890 /* remote_store_spec_test.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = remote_store_spec_test.json; sourceTree = "<group>"; };
314313
3C81DE3772628FE297055662 /* Pods-Firestore_Example_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Firestore_Example_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Firestore_Example_iOS/Pods-Firestore_Example_iOS.debug.xcconfig"; sourceTree = "<group>"; };
@@ -488,7 +487,6 @@
488487
6EDD3B5C20BF247500C33877 /* Firestore_FuzzTests_iOS-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Firestore_FuzzTests_iOS-Info.plist"; sourceTree = "<group>"; };
489488
6EDD3B5E20BF24D000C33877 /* FSTFuzzTestsPrincipal.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = FSTFuzzTestsPrincipal.mm; sourceTree = "<group>"; };
490489
71719F9E1E33DC2100824A3D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
491-
7346E61C20325C6900FD6CEF /* FSTDispatchQueueTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = FSTDispatchQueueTests.mm; sourceTree = "<group>"; };
492490
73866A9F2082B069009BB4FF /* FIRArrayTransformTests.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = FIRArrayTransformTests.mm; sourceTree = "<group>"; };
493491
79507DF8378D3C42F5B36268 /* string_win_test.cc */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.cpp.cpp; path = string_win_test.cc; sourceTree = "<group>"; };
494492
84434E57CA72951015FC71BC /* Pods-Firestore_FuzzTests_iOS.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Firestore_FuzzTests_iOS.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Firestore_FuzzTests_iOS/Pods-Firestore_FuzzTests_iOS.debug.xcconfig"; sourceTree = "<group>"; };
@@ -526,6 +524,7 @@
526524
B67BF448216EB43000CA9097 /* create_noop_connectivity_monitor.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = create_noop_connectivity_monitor.cc; sourceTree = "<group>"; };
527525
B686F2AD2023DDB20028D6BE /* field_path_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = field_path_test.cc; sourceTree = "<group>"; };
528526
B686F2B02024FFD70028D6BE /* resource_path_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = resource_path_test.cc; sourceTree = "<group>"; };
527+
B69CF05A219B9105004C434D /* FIRFirestore+Testing.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "FIRFirestore+Testing.h"; sourceTree = "<group>"; };
529528
B6BBE42F21262CF400C6A53E /* grpc_stream_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = grpc_stream_test.cc; sourceTree = "<group>"; };
530529
B6D1B68420E2AB1A00B35856 /* exponential_backoff_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = exponential_backoff_test.cc; sourceTree = "<group>"; };
531530
B6D9649021544D4F00EB9CFB /* grpc_connection_test.cc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = grpc_connection_test.cc; sourceTree = "<group>"; };
@@ -1161,7 +1160,7 @@
11611160
DE51B1851F0D48AC0013853F /* Util */ = {
11621161
isa = PBXGroup;
11631162
children = (
1164-
7346E61C20325C6900FD6CEF /* FSTDispatchQueueTests.mm */,
1163+
B69CF05A219B9105004C434D /* FIRFirestore+Testing.h */,
11651164
54E9281C1F33950B00C1953E /* FSTEventAccumulator.h */,
11661165
5492E0392021401F00B64F25 /* FSTEventAccumulator.mm */,
11671166
DE51B1881F0D48AC0013853F /* FSTHelpers.h */,
@@ -1878,7 +1877,6 @@
18781877
5492E058202154AB00B64F25 /* FSTAPIHelpers.mm in Sources */,
18791878
DE2EF0851F3D0B6E003D0CDC /* FSTArraySortedDictionaryTests.m in Sources */,
18801879
5492E0C82021557E00B64F25 /* FSTDatastoreTests.mm in Sources */,
1881-
7346E61D20325C6900FD6CEF /* FSTDispatchQueueTests.mm in Sources */,
18821880
5492E0B92021555100B64F25 /* FSTDocumentKeyTests.mm in Sources */,
18831881
5492E0BA2021555100B64F25 /* FSTDocumentSetTests.mm in Sources */,
18841882
5492E0BD2021555100B64F25 /* FSTDocumentTests.mm in Sources */,

Firestore/Example/Tests/API/FSTAPIHelpers.mm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
database:"abc"
5454
persistenceKey:@"db123"
5555
credentialsProvider:nil
56-
workerDispatchQueue:nil
56+
workerQueue:nil
5757
firebaseApp:nil];
5858
});
5959
#pragma clang diagnostic pop

Firestore/Example/Tests/Core/FSTEventManagerTests.mm

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
#import "Firestore/Source/Core/FSTQuery.h"
2323
#import "Firestore/Source/Core/FSTSyncEngine.h"
2424
#import "Firestore/Source/Model/FSTDocumentSet.h"
25-
#import "Firestore/Source/Util/FSTDispatchQueue.h"
2625

2726
#import "Firestore/Example/Tests/Util/FSTHelpers.h"
2827

@@ -49,13 +48,7 @@ @interface FSTEventManager () <FSTSyncEngineDelegate>
4948
@interface FSTEventManagerTests : XCTestCase
5049
@end
5150

52-
@implementation FSTEventManagerTests {
53-
FSTDispatchQueue *_testUserQueue;
54-
}
55-
56-
- (void)setUp {
57-
_testUserQueue = [FSTDispatchQueue queueWith:dispatch_get_main_queue()];
58-
}
51+
@implementation FSTEventManagerTests
5952

6053
- (FSTQueryListener *)noopListenerForQuery:(FSTQuery *)query {
6154
return [[FSTQueryListener alloc]

Firestore/Example/Tests/Core/FSTQueryListenerTests.mm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333

3434
using firebase::firestore::model::DocumentKeySet;
3535
using firebase::firestore::model::OnlineState;
36-
using firebase::firestore::util::internal::ExecutorLibdispatch;
36+
using firebase::firestore::util::ExecutorLibdispatch;
3737

3838
NS_ASSUME_NONNULL_BEGIN
3939

Firestore/Example/Tests/Integration/API/FIRDatabaseTests.mm

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@
2222
#import "Firestore/Example/Tests/Util/FSTIntegrationTestCase.h"
2323
#import "Firestore/Source/API/FIRFirestore+Internal.h"
2424
#import "Firestore/Source/Core/FSTFirestoreClient.h"
25-
#import "Firestore/Source/Util/FSTDispatchQueue.h"
25+
26+
using firebase::firestore::util::TimerId;
2627

2728
@interface FIRDatabaseTests : FSTIntegrationTestCase
2829
@end
@@ -1204,7 +1205,7 @@ - (void)testWriteStreamReconnectsAfterIdle {
12041205
FIRFirestore *firestore = doc.firestore;
12051206

12061207
[self writeDocumentRef:doc data:@{@"foo" : @"bar"}];
1207-
[[self queueForFirestore:firestore] runDelayedCallbacksUntil:FSTTimerIDWriteStreamIdle];
1208+
[self queueForFirestore:firestore] -> RunScheduledOperationsUntil(TimerId::WriteStreamIdle);
12081209
[self writeDocumentRef:doc data:@{@"foo" : @"bar"}];
12091210
}
12101211

@@ -1213,7 +1214,7 @@ - (void)testWatchStreamReconnectsAfterIdle {
12131214
FIRFirestore *firestore = doc.firestore;
12141215

12151216
[self readSnapshotForRef:[self documentRef] requireOnline:YES];
1216-
[[self queueForFirestore:firestore] runDelayedCallbacksUntil:FSTTimerIDListenStreamIdle];
1217+
[self queueForFirestore:firestore] -> RunScheduledOperationsUntil(TimerId::ListenStreamIdle);
12171218
[self readSnapshotForRef:[self documentRef] requireOnline:YES];
12181219
}
12191220

Firestore/Example/Tests/Integration/FSTDatastoreTests.mm

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
#import <FirebaseFirestore/FIRTimestamp.h>
2020
#import <XCTest/XCTest.h>
2121

22+
#include <memory>
23+
2224
#import "Firestore/Source/API/FIRDocumentReference+Internal.h"
2325
#import "Firestore/Source/API/FSTUserDataConverter.h"
2426
#import "Firestore/Source/Core/FSTFirestoreClient.h"
@@ -31,16 +33,18 @@
3133
#import "Firestore/Source/Remote/FSTDatastore.h"
3234
#import "Firestore/Source/Remote/FSTRemoteEvent.h"
3335
#import "Firestore/Source/Remote/FSTRemoteStore.h"
34-
#import "Firestore/Source/Util/FSTDispatchQueue.h"
3536

3637
#import "Firestore/Example/Tests/Util/FSTIntegrationTestCase.h"
3738

3839
#include "Firestore/core/src/firebase/firestore/auth/empty_credentials_provider.h"
3940
#include "Firestore/core/src/firebase/firestore/core/database_info.h"
4041
#include "Firestore/core/src/firebase/firestore/model/database_id.h"
4142
#include "Firestore/core/src/firebase/firestore/model/precondition.h"
43+
#include "Firestore/core/src/firebase/firestore/util/async_queue.h"
44+
#include "Firestore/core/src/firebase/firestore/util/executor_libdispatch.h"
4245
#include "Firestore/core/src/firebase/firestore/util/hard_assert.h"
4346
#include "Firestore/core/src/firebase/firestore/util/string_apple.h"
47+
#include "absl/memory/memory.h"
4448

4549
namespace util = firebase::firestore::util;
4650
using firebase::firestore::auth::EmptyCredentialsProvider;
@@ -51,6 +55,8 @@
5155
using firebase::firestore::model::Precondition;
5256
using firebase::firestore::model::TargetId;
5357
using firebase::firestore::remote::GrpcConnection;
58+
using firebase::firestore::util::AsyncQueue;
59+
using firebase::firestore::util::ExecutorLibdispatch;
5460

5561
NS_ASSUME_NONNULL_BEGIN
5662

@@ -146,7 +152,7 @@ @interface FSTDatastoreTests : XCTestCase
146152
@end
147153

148154
@implementation FSTDatastoreTests {
149-
FSTDispatchQueue *_testWorkerQueue;
155+
std::unique_ptr<AsyncQueue> _testWorkerQueue;
150156
FSTLocalStore *_localStore;
151157
EmptyCredentialsProvider _credentials;
152158

@@ -169,29 +175,26 @@ - (void)setUp {
169175
_databaseInfo =
170176
DatabaseInfo(database_id, "test-key", util::MakeString(settings.host), settings.sslEnabled);
171177

172-
_testWorkerQueue = [FSTDispatchQueue
173-
queueWith:dispatch_queue_create("com.google.firestore.FSTDatastoreTestsWorkerQueue",
174-
DISPATCH_QUEUE_SERIAL)];
175-
178+
dispatch_queue_t queue = dispatch_queue_create(
179+
"com.google.firestore.FSTDatastoreTestsWorkerQueue", DISPATCH_QUEUE_SERIAL);
180+
_testWorkerQueue = absl::make_unique<AsyncQueue>(absl::make_unique<ExecutorLibdispatch>(queue));
176181
_datastore = [FSTDatastore datastoreWithDatabase:&_databaseInfo
177-
workerDispatchQueue:_testWorkerQueue
182+
workerQueue:_testWorkerQueue.get()
178183
credentials:&_credentials];
179184

180185
_remoteStore = [[FSTRemoteStore alloc] initWithLocalStore:_localStore
181186
datastore:_datastore
182-
workerDispatchQueue:_testWorkerQueue];
187+
workerQueue:_testWorkerQueue.get()];
183188

184-
[_testWorkerQueue dispatchAsync:^() {
185-
[_remoteStore start];
186-
}];
189+
_testWorkerQueue->Enqueue([=] { [_remoteStore start]; });
187190
}
188191

189192
- (void)tearDown {
190193
XCTestExpectation *completion = [self expectationWithDescription:@"shutdown"];
191-
[_testWorkerQueue dispatchAsync:^{
194+
_testWorkerQueue->Enqueue([=] {
192195
[_remoteStore shutdown];
193196
[completion fulfill];
194-
}];
197+
});
195198
[self awaitExpectations];
196199

197200
[super tearDown];
@@ -219,12 +222,12 @@ - (void)testStreamingWrite {
219222
FSTMutationBatch *batch = [[FSTMutationBatch alloc] initWithBatchID:23
220223
localWriteTime:[FIRTimestamp timestamp]
221224
mutations:@[ mutation ]];
222-
[_testWorkerQueue dispatchAsync:^{
225+
_testWorkerQueue->Enqueue([=] {
223226
[_remoteStore addBatchToWritePipeline:batch];
224227
// The added batch won't be written immediately because write stream wasn't yet open --
225228
// trigger its opening.
226229
[_remoteStore fillWritePipeline];
227-
}];
230+
});
228231

229232
[self awaitExpectations];
230233
}

Firestore/Example/Tests/SpecTests/FSTMockDatastore.mm

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
#import "Firestore/Source/Model/FSTMutation.h"
2727
#import "Firestore/Source/Remote/FSTSerializerBeta.h"
2828
#import "Firestore/Source/Remote/FSTStream.h"
29-
#import "Firestore/Source/Util/FSTDispatchQueue.h"
3029

3130
#import "Firestore/Example/Tests/Remote/FSTWatchChange+Testing.h"
3231

@@ -37,6 +36,7 @@
3736
#include "Firestore/core/src/firebase/firestore/remote/connectivity_monitor.h"
3837
#include "Firestore/core/src/firebase/firestore/remote/grpc_connection.h"
3938
#include "Firestore/core/src/firebase/firestore/remote/stream.h"
39+
#include "Firestore/core/src/firebase/firestore/util/async_queue.h"
4040
#include "Firestore/core/src/firebase/firestore/util/log.h"
4141
#include "Firestore/core/src/firebase/firestore/util/string_apple.h"
4242
#include "Firestore/core/test/firebase/firestore/util/create_noop_connectivity_monitor.h"
@@ -249,12 +249,13 @@ int sent_mutations_count() const {
249249
@interface FSTMockDatastore ()
250250

251251
/** Properties implemented in FSTDatastore that are nonpublic. */
252-
@property(nonatomic, strong, readonly) FSTDispatchQueue *workerDispatchQueue;
253252
@property(nonatomic, assign, readonly) CredentialsProvider *credentials;
254253

255254
@end
256255

257256
@implementation FSTMockDatastore {
257+
AsyncQueue *_workerQueue;
258+
258259
std::shared_ptr<MockWatchStream> _watchStream;
259260
std::shared_ptr<MockWriteStream> _writeStream;
260261

@@ -266,24 +267,23 @@ @implementation FSTMockDatastore {
266267
#pragma mark - Overridden FSTDatastore methods.
267268

268269
- (instancetype)initWithDatabaseInfo:(const DatabaseInfo *)databaseInfo
269-
workerDispatchQueue:(FSTDispatchQueue *)workerDispatchQueue
270+
workerQueue:(AsyncQueue *)workerQueue
270271
credentials:(CredentialsProvider *)credentials {
271272
if (self = [super initWithDatabaseInfo:databaseInfo
272-
workerDispatchQueue:workerDispatchQueue
273+
workerQueue:workerQueue
273274
credentials:credentials]) {
274-
_workerDispatchQueue = workerDispatchQueue;
275+
_workerQueue = workerQueue;
275276
_credentials = credentials;
276277
_connectivityMonitor = CreateNoOpConnectivityMonitor();
277-
_grpcConnection =
278-
absl::make_unique<GrpcConnection>(*databaseInfo, [workerDispatchQueue implementation],
279-
&_grpcQueue, _connectivityMonitor.get());
278+
_grpcConnection = absl::make_unique<GrpcConnection>(*databaseInfo, workerQueue, &_grpcQueue,
279+
_connectivityMonitor.get());
280280
}
281281
return self;
282282
}
283283

284284
- (std::shared_ptr<WatchStream>)createWatchStreamWithDelegate:(id<FSTWatchStreamDelegate>)delegate {
285285
_watchStream = std::make_shared<MockWatchStream>(
286-
[self.workerDispatchQueue implementation], self.credentials,
286+
_workerQueue, self.credentials,
287287
[[FSTSerializerBeta alloc] initWithDatabaseID:&self.databaseInfo->database_id()],
288288
_grpcConnection.get(), delegate, self);
289289

@@ -292,7 +292,7 @@ - (instancetype)initWithDatabaseInfo:(const DatabaseInfo *)databaseInfo
292292

293293
- (std::shared_ptr<WriteStream>)createWriteStreamWithDelegate:(id<FSTWriteStreamDelegate>)delegate {
294294
_writeStream = std::make_shared<MockWriteStream>(
295-
[self.workerDispatchQueue implementation], self.credentials,
295+
_workerQueue, self.credentials,
296296
[[FSTSerializerBeta alloc] initWithDatabaseID:&self.databaseInfo->database_id()],
297297
_grpcConnection.get(), delegate, self);
298298

Firestore/Example/Tests/SpecTests/FSTSpecTests.mm

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@
3232
#import "Firestore/Source/Remote/FSTExistenceFilter.h"
3333
#import "Firestore/Source/Remote/FSTWatchChange.h"
3434
#import "Firestore/Source/Util/FSTClasses.h"
35-
#import "Firestore/Source/Util/FSTDispatchQueue.h"
3635

3736
#import "Firestore/Example/Tests/Remote/FSTWatchChange+Testing.h"
3837
#import "Firestore/Example/Tests/SpecTests/FSTSyncEngineTestDriver.h"
@@ -41,6 +40,7 @@
4140
#include "Firestore/core/src/firebase/firestore/auth/user.h"
4241
#include "Firestore/core/src/firebase/firestore/model/document_key.h"
4342
#include "Firestore/core/src/firebase/firestore/model/snapshot_version.h"
43+
#include "Firestore/core/src/firebase/firestore/util/async_queue.h"
4444
#include "Firestore/core/src/firebase/firestore/util/hard_assert.h"
4545
#include "Firestore/core/src/firebase/firestore/util/log.h"
4646
#include "Firestore/core/src/firebase/firestore/util/string_apple.h"
@@ -52,6 +52,7 @@
5252
using firebase::firestore::model::DocumentKey;
5353
using firebase::firestore::model::SnapshotVersion;
5454
using firebase::firestore::model::TargetId;
55+
using firebase::firestore::util::TimerId;
5556

5657
NS_ASSUME_NONNULL_BEGIN
5758

@@ -373,19 +374,19 @@ - (void)doDrainQueue {
373374
}
374375

375376
- (void)doRunTimer:(NSString *)timer {
376-
FSTTimerID timerID;
377+
TimerId timerID;
377378
if ([timer isEqualToString:@"all"]) {
378-
timerID = FSTTimerIDAll;
379+
timerID = TimerId::All;
379380
} else if ([timer isEqualToString:@"listen_stream_idle"]) {
380-
timerID = FSTTimerIDListenStreamIdle;
381+
timerID = TimerId::ListenStreamIdle;
381382
} else if ([timer isEqualToString:@"listen_stream_connection_backoff"]) {
382-
timerID = FSTTimerIDListenStreamConnectionBackoff;
383+
timerID = TimerId::ListenStreamConnectionBackoff;
383384
} else if ([timer isEqualToString:@"write_stream_idle"]) {
384-
timerID = FSTTimerIDWriteStreamIdle;
385+
timerID = TimerId::WriteStreamIdle;
385386
} else if ([timer isEqualToString:@"write_stream_connection_backoff"]) {
386-
timerID = FSTTimerIDWriteStreamConnectionBackoff;
387+
timerID = TimerId::WriteStreamConnectionBackoff;
387388
} else if ([timer isEqualToString:@"online_state_timeout"]) {
388-
timerID = FSTTimerIDOnlineStateTimeout;
389+
timerID = TimerId::OnlineStateTimeout;
389390
} else {
390391
HARD_FAIL("runTimer spec step specified unknown timer: %s", timer);
391392
}

Firestore/Example/Tests/SpecTests/FSTSyncEngineTestDriver.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@
2020
#include <unordered_map>
2121

2222
#import "Firestore/Source/Remote/FSTRemoteStore.h"
23-
#import "Firestore/Source/Util/FSTDispatchQueue.h"
2423

2524
#include "Firestore/core/src/firebase/firestore/auth/user.h"
2625
#include "Firestore/core/src/firebase/firestore/model/document_key.h"
2726
#include "Firestore/core/src/firebase/firestore/model/snapshot_version.h"
2827
#include "Firestore/core/src/firebase/firestore/model/types.h"
28+
#include "Firestore/core/src/firebase/firestore/util/async_queue.h"
2929

3030
@class FSTDocumentKey;
3131
@class FSTMutation;
@@ -227,9 +227,9 @@ typedef std::unordered_map<firebase::firestore::auth::User,
227227
- (void)enableNetwork;
228228

229229
/**
230-
* Runs a pending timer callback on the FSTDispatchQueue.
230+
* Runs a pending timer callback on the worker queue.
231231
*/
232-
- (void)runTimer:(FSTTimerID)timerID;
232+
- (void)runTimer:(firebase::firestore::util::TimerId)timerID;
233233

234234
/**
235235
* Switches the FSTSyncEngine to a new user. The test driver tracks the outstanding mutations for

0 commit comments

Comments
 (0)