Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: firebase/firebase-admin-dotnet Loading
base: master
Choose a base ref
...
head repository: firebase/firebase-admin-dotnet Loading
compare: dorisge/fcm-batch-send
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 5 commits
  • 5 files changed
  • 1 contributor

Commits on Mar 29, 2023

  1. Implement SendEachAsync and SendEachForMulticastAsync

    `SendEachAsync` vs `SendAllAsync`
    1. `SendEachAsync` sends one HTTP request to V1 Send endpoint for each
        message in the list.
       `SendAllAsync` sends only one HTTP request to V1 Batch Send endpoint
        to send all messages in the list.
    2. `SendEachAsync` calls `Task.WhenAll` to wait for all
        `httpClient.SendAndDeserializeAsync` calls to complete and construct
        a `BatchResponse` with all `SendResponse`s.
        An `httpClient.SendAndDeserializeAsync` call to V1 Send endpoint
        either completes with a success or throws an exception. So if an
        exception is thrown out, the exception will be caught in `SendEachAsync`
        and turned into a `SendResponse` with an exception.
        Therefore, unlike `SendAllAsync`, `SendEachAsync` does not always throw
        an exception for a total failure. It can also return a `BatchResponse`
        with only exceptions in it.
    
    `SendEachForMulticastAsync` calls `SendEachAsync` under the hood.
    Doris-Ge committed Mar 29, 2023
    Configuration menu
    Copy the full SHA
    6d6b20f View commit details
    Browse the repository at this point in the history

Commits on Jun 1, 2023

  1. Add integration tests for the batch-send reimplementation:

    SendEach() and SendEachForMulticast()
    Doris-Ge committed Jun 1, 2023
    Configuration menu
    Copy the full SHA
    eae052d View commit details
    Browse the repository at this point in the history

Commits on Jun 9, 2023

  1. Configuration menu
    Copy the full SHA
    5eb5084 View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2023

  1. feat(fcm): Implement SendEachAsync and SendEachForMulticastAsync (#…

    …343)
    
    * Implement `SendEachAsync` and `SendEachForMulticastAsync`
    
    `SendEachAsync` vs `SendAllAsync`
    1. `SendEachAsync` sends one HTTP request to V1 Send endpoint for each
        message in the list.
       `SendAllAsync` sends only one HTTP request to V1 Batch Send endpoint
        to send all messages in the list.
    2. `SendEachAsync` calls `Task.WhenAll` to wait for all
        `httpClient.SendAndDeserializeAsync` calls to complete and construct
        a `BatchResponse` with all `SendResponse`s.
        An `httpClient.SendAndDeserializeAsync` call to V1 Send endpoint
        either completes with a success or throws an exception. So if an
        exception is thrown out, the exception will be caught in `SendEachAsync`
        and turned into a `SendResponse` with an exception.
        Therefore, unlike `SendAllAsync`, `SendEachAsync` does not always throw
        an exception for a total failure. It can also return a `BatchResponse`
        with only exceptions in it.
    
    `SendEachForMulticastAsync` calls `SendEachAsync` under the hood.
    
    * Add integration tests for the batch-send reimplementation:
    SendEach() and SendEachForMulticast()
    Doris-Ge committed Jul 25, 2023
    Configuration menu
    Copy the full SHA
    463e6c9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    979e538 View commit details
    Browse the repository at this point in the history
Loading