Use futures::stream in leaf functions #452
Closed
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.
Context / purpose
It could be useful to return
futures::stream
inleaf
functions to:leaf_search_stream_single_split
orleaf_search_single_split
executed concurrentlySearchError
to tonicStatus
and vice versa, currentlyleaf_search_stream
returns an UnboundedReceiver with a result containing tonicstatus
. We don't want to have this status at theleaf_search_stream
level.Description
This PR shows how to use streams in
leaf_search_stream
function and the subsequent changes we must apply to make the grpc layer compatible.Caveats
I did not manage to make the
SearchClient
returns a stream because of trait bounds error: the stream has to be Send + Sync but I only have a Send stream from tonic response. So I keep the unbounded receiver.