Skip to content

Replace the placeholder client request and response mechanisms #1264

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

Merged
merged 2 commits into from
Sep 16, 2021

Conversation

glbrntt
Copy link
Collaborator

@glbrntt glbrntt commented Sep 13, 2021

Motivation:

The client code for async-await has some placeholder implementations for
receiving responses and sending requests. Now that we have the necessary
types we can replace the placeholders.

Modifications:

  • Replace AsyncStream usage with a PassthroughMessageSequence
  • Add a GRPCAsyncRequestStreamWriter which request streaming RPCs may use to
    write requests and finish the request stream.
  • This writer depends on a delegate which uses callbacks to send
    messages on the underlying Call.
  • Request streaming RPCs now have a requestStream on which to send
    requests.
  • Wrap up AsyncWriterError as a public struct.

Result:

Clients may send requests on a requestStream.

@glbrntt glbrntt requested a review from fabianfett September 13, 2021 10:37
@glbrntt glbrntt added the 🆕 semver/minor Adds new public API. label Sep 13, 2021
Motivation:

The client code for async-await has some placeholder implementations for
receiving responses and sending requests. Now that we have the necessary
types we can replace the placeholders.

Modifications:

- Replace `AsyncStream` usage with a `PassthroughMessageSequence`
- Add a `GRPCAsyncRequestStreamWriter` which request streaming RPCs may use to
  write requests and finish the request stream.
- This writer depends on a delegate which uses callbacks to send
  messages on the underlying `Call`.
- Request streaming RPCs now have a `requestStream` on which to send
  requests.
- Wrap up `AsyncWriterError` as a `public` `struct`.

Result:

Clients may send requests on a `requestStream`.
@glbrntt glbrntt force-pushed the gb-client-request-stream branch from 5087aff to d323a37 Compare September 15, 2021 15:25
@glbrntt glbrntt requested a review from fabianfett September 15, 2021 15:26
@glbrntt glbrntt merged commit 2f577e5 into grpc:async-await Sep 16, 2021
@glbrntt glbrntt deleted the gb-client-request-stream branch September 16, 2021 09:48
glbrntt added a commit to glbrntt/grpc-swift that referenced this pull request Sep 16, 2021
…1264)

Motivation:

The client code for async-await has some placeholder implementations for
receiving responses and sending requests. Now that we have the necessary
types we can replace the placeholders.

Modifications:

- Replace `AsyncStream` usage with a `PassthroughMessageSequence`
- Add a `GRPCAsyncRequestStreamWriter` which request streaming RPCs may use to
  write requests and finish the request stream.
- This writer depends on a delegate which uses callbacks to send
  messages on the underlying `Call`.
- Request streaming RPCs now have a `requestStream` on which to send
  requests.
- Wrap up `AsyncWriterError` as a `public` `struct`.

Result:

Clients may send requests on a `requestStream`.
glbrntt added a commit to glbrntt/grpc-swift that referenced this pull request Sep 16, 2021
…1264)

Motivation:

The client code for async-await has some placeholder implementations for
receiving responses and sending requests. Now that we have the necessary
types we can replace the placeholders.

Modifications:

- Replace `AsyncStream` usage with a `PassthroughMessageSequence`
- Add a `GRPCAsyncRequestStreamWriter` which request streaming RPCs may use to
  write requests and finish the request stream.
- This writer depends on a delegate which uses callbacks to send
  messages on the underlying `Call`.
- Request streaming RPCs now have a `requestStream` on which to send
  requests.
- Wrap up `AsyncWriterError` as a `public` `struct`.

Result:

Clients may send requests on a `requestStream`.
glbrntt added a commit that referenced this pull request Sep 16, 2021
Motivation:

The client code for async-await has some placeholder implementations for
receiving responses and sending requests. Now that we have the necessary
types we can replace the placeholders.

Modifications:

- Replace `AsyncStream` usage with a `PassthroughMessageSequence`
- Add a `GRPCAsyncRequestStreamWriter` which request streaming RPCs may use to
  write requests and finish the request stream.
- This writer depends on a delegate which uses callbacks to send
  messages on the underlying `Call`.
- Request streaming RPCs now have a `requestStream` on which to send
  requests.
- Wrap up `AsyncWriterError` as a `public` `struct`.

Result:

Clients may send requests on a `requestStream`.
glbrntt added a commit that referenced this pull request Nov 26, 2021
Motivation:

The client code for async-await has some placeholder implementations for
receiving responses and sending requests. Now that we have the necessary
types we can replace the placeholders.

Modifications:

- Replace `AsyncStream` usage with a `PassthroughMessageSequence`
- Add a `GRPCAsyncRequestStreamWriter` which request streaming RPCs may use to
  write requests and finish the request stream.
- This writer depends on a delegate which uses callbacks to send
  messages on the underlying `Call`.
- Request streaming RPCs now have a `requestStream` on which to send
  requests.
- Wrap up `AsyncWriterError` as a `public` `struct`.

Result:

Clients may send requests on a `requestStream`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🆕 semver/minor Adds new public API.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants