-
Notifications
You must be signed in to change notification settings - Fork 115
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
Server-streaming support in gRPC server pseudo-Node #1117
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ipetr0v
approved these changes
Jun 9, 2020
Commit 95ecef4 ("examples: get C++ hello_world module working") updated the manual encoding of a GrpcResponse protobuf to allow for the removal of the Any type, but forgot to update the enclosing length. This means that the last=true flag was not being picked up.
In preparation for adding server-streaming method support in future, reorganize the invocation processing to put all per-response code in a (single-shot) loop. Convert read_grpc_response() into an Iterator to feed this loop. Also, put the closing of the response channel into a manual Drop implementation for the Iterator, to ensure it always gets done automatically.
Transform the iterator over encapsulated gRPC responses into one over tonic responses, then convert that iterator into a futures stream. Make the GrpcResponseIterator responsible for updating relevant metrics, and make sure it pays attention to the rsp.last flag when available.
Reproducibility Index:
Reproducibility Index diff: diff --git a/reproducibility_index b/reproducibility_index
index 796c9b1..bd43e30 100644
--- a/reproducibility_index
+++ b/reproducibility_index
@@ -8,4 +8,4 @@ f8b4bd6f86cb8d4bbd10919b66057388f2d6a32cbd06c1581f716f7bf35877f5 ./examples/tar
6bbb55c5423a78ddb4fa3916769cc2b815fc73e1be03436d5a9c50090f3a8c62 ./examples/target/wasm32-unknown-unknown/release/running_average.wasm
54a8fb024f3900baabb992cadf9e0faf7e3106113e5c161bab183dcd02fabee1 ./examples/target/wasm32-unknown-unknown/release/translator.wasm
63008f43c845ce5f8e9d5d3b149bee3b6b118904f16083098c7467b50e971de4 ./examples/target/wasm32-unknown-unknown/release/trusted_information_retrieval.wasm
-312000d647ef51e8ace08611af2224c1a03968d9738885e33d4c841e7dce730f ./target/x86_64-unknown-linux-musl/release/oak_loader
+1fff88460ba69b3e24830d7336f7c1f017dec8905509542390f4a42496019afa ./target/x86_64-unknown-linux-musl/release/oak_loader
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Checklist
Cloudbuild
cover any TODOs and/or unfinished work.
construction.