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

Basic client RPC executor #1693

Merged
merged 13 commits into from
Nov 1, 2023
Merged

Commits on Oct 30, 2023

  1. Basic client RPC executor

    Motivation:
    
    Clients can execute RPCs in a few different ways: straight up as a
    single attempt, with retries, or with hedging. This is done by the
    `ClientRPCExecutor`, the bones of which are added in this PR.
    
    At a high level, the executor takes a transport, request, serializer,
    deserializer and response handler and executes the request against a
    transport and executes the response handler if a response is received or
    synthesized locally. The executor only returns once the response has
    been handled.
    
    Modifications:
    
    - Add the `ClientRPCExecutor` and the one-shot implementation (hedging
      and retries will follow later)
    - The `ClientRPCExecutor` uses a `ClientStreamExecutor` which deals in
      serialized streams
    - Add a testing harness, which includes type erased transports (and a
      basic in process transport for testing) and different server
      behaviours.
    
    Result:
    
    Can execute one-shot requests.
    glbrntt committed Oct 30, 2023
    Configuration menu
    Copy the full SHA
    bbfb993 View commit details
    Browse the repository at this point in the history
  2. Help out older compilers

    glbrntt committed Oct 30, 2023
    Configuration menu
    Copy the full SHA
    463ed93 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c7deb7d View commit details
    Browse the repository at this point in the history
  4. Help older compilers in tests

    glbrntt committed Oct 30, 2023
    Configuration menu
    Copy the full SHA
    c772637 View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2023

  1. Configuration menu
    Copy the full SHA
    f68d023 View commit details
    Browse the repository at this point in the history
  2. R -> Result

    glbrntt committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    d42978c View commit details
    Browse the repository at this point in the history
  3. remove redundant ()

    glbrntt committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    f8d8ebd View commit details
    Browse the repository at this point in the history
  4. Add docc warning

    glbrntt committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    834f105 View commit details
    Browse the repository at this point in the history
  5. fix typo

    glbrntt committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    431da59 View commit details
    Browse the repository at this point in the history
  6. make backpressured stream

    glbrntt committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    924f004 View commit details
    Browse the repository at this point in the history
  7. lazy map seq

    glbrntt committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    5ee3de3 View commit details
    Browse the repository at this point in the history

Commits on Nov 1, 2023

  1. Configuration menu
    Copy the full SHA
    8545e25 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    113f379 View commit details
    Browse the repository at this point in the history