Creates a new root singleton: OWSMessagePipelineSupervisor As of right now, this singleton has two responsibilities: - Track all message processing pipeline stages that have registered themselves - Post processing suspension updates to interested stages Four classes will now register themselves as pipeline stages: - OWSMessageContentQueue - YAPDBMessageDecryptQueue - IncomingGroupsV2MessageQueue - SSKMessageDecryptJobQueue At initialization, OWSMessagePipelineSupervisor will take out a pipeline suspension while it waits for a UUIDBackfillTask to complete. Other interested objects are also able to suspend the message processing pipeline by invoking suspendMessageProcessing(for:) on the supervisor (though, currently this is not used by anything except tests) This also adds some supporting improvements to UnfairLock. Now, UnfairLock closures will return the value returned from its critical section closure. |
||
|---|---|---|
| .. | ||
| DeviceNamesTest.swift | ||
| DispatchQueue+OWSTest.swift | ||
| JobQueueTest.swift | ||
| kbs_pin_sanitation_vectors.json | ||
| kbs_storage_service_encryption_vectors.json | ||
| kbs_vectors.json | ||
| KeyBackupServiceTests.swift | ||
| OWSAnalyticsTests.m | ||
| OWSOperationTest.swift | ||
| TSMessageStorageTests.m | ||
| UnfairLockTest.swift | ||
| ViewOnceMessagesTest.swift | ||