Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] Add Dispatch Queues to all executors #1454

Merged
merged 8 commits into from
Jul 1, 2024

Commits on Jun 24, 2024

  1. [tests] make Mock Client use a concurrent DispatchQueue

    * When testing concurrency, the Mock Client actually was synchronizing the requests, so crashes were not reproducible
    * By changing to a concurrent DispatchQueue, this is more reflective of the real Client's behavior
    nan-li committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    58ef7a1 View commit details
    Browse the repository at this point in the history
  2. [tests] Mock Client has flag to let all requests through

    * Add a flag called `fireSuccessForAllRequests` that will fire the success callback for all requests so that they don't need to be manually set up using mock responses beforehand.
    * This is useful for tests that want the client to return success but don't need the details of particular requests.
    nan-li committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    f2869a8 View commit details
    Browse the repository at this point in the history
  3. Add dispatch queue to Subscription Executor

    * Synchronize access to the delta queue and request queues
    * Add test `testSubscriptionExecutorConcurrency` that reproduced crash that is then fixed by the changes here.
    nan-li committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    63140d4 View commit details
    Browse the repository at this point in the history
  4. Add dispatch queue to Identity Executor

    * Synchronize access to the delta queue and request queues
    * Add test `testIdentityExecutorConcurrency` that reproduced crash that is then fixed by the changes here.
    nan-li committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    6535737 View commit details
    Browse the repository at this point in the history
  5. Add dispatch queue to User Executor

    * Synchronize access to the request queues
    * Add test `testUserExecutorConcurrency` that reproduced crash that is then fixed by the changes here.
    * Note that concurrent access in this executor should be mitigated already by the executor only sending one request at a time.
    nan-li committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    ec7d7e9 View commit details
    Browse the repository at this point in the history
  6. [tests] add a test for Property Executor Concurrency

    * Add test `testPropertyExecutorConcurrency`
    nan-li committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    ca7fafa View commit details
    Browse the repository at this point in the history

Commits on Jun 26, 2024

  1. [nit] Break up User Executor code

    * swiftlint error: Type Body Length Violation: Type body should span 350 lines or less excluding comments and whitespace: currently spans 354 lines (type_body_length)
    * No logic changes in this commit, only split up executing requests code into an extension
    nan-li committed Jun 26, 2024
    Configuration menu
    Copy the full SHA
    a90478c View commit details
    Browse the repository at this point in the history
  2. [nit] run swiflint

    nan-li committed Jun 26, 2024
    Configuration menu
    Copy the full SHA
    8248762 View commit details
    Browse the repository at this point in the history