fix: preserve flushed buffers during stop_streaming #6
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.
summary
fixes data loss issue where flushed buffers in
_processed_data_msg_queuewere discarded whenstop_streaming()was called causing users to lose final data chunks.issue
when
stop_streaming()was called, the_processed_data_msg_queuewas cleared by creating a new empty queue,discarding any remaining messages that hadn't been processed yet. This resulted in users losing their final data
chunks.
solution
before clearing the queue, safely drain all remaining messages and add them to the appropriate
streaming_buffers_queueso users can access their complete data. The implementation includes comprehensive errorhandling to ensure robustness.
what was changed
_async_stop_streaming()before queue clearingtests