fix: encoder not flushing data#434
Conversation
NobodyXu
left a comment
There was a problem hiding this comment.
Thanks!
However when I checked the diff, it seems to be no different from the latest main branch.
We already have an early return
And the read state assignment is no-op.
|
cc @infiniteregrets can u try the latest release of async-compression please? |
Yeah the first change might just be relevant to that broken commit, I'll re run it. But other changes seem to fix my issues so I'm not sure... will get back to you |
|
Didn't notice this PR existed. I've fixed the same issue #456. It also includes a flushing test. |
|
This can be closed now that #456 landed. |
|
thanks so much @orium |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #434 +/- ##
===========================
===========================
☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
hi, thank you for your work on this library!
after upgrading async-compression, our custom protocol stopped working i.e. receiving responses like for eg, ACKs would get stuck and never reach the client, this happened on release 0.4.33 so i ran git bisect:
good:
b79f66d40697ab7dadf791a416ab2ba15cccc3a3bad:
2aa1b5f8122618004b9bbab6dc679bafca616ff2and
6c0835eb5dd26cb6176acd0455437be13fdaadacbeing the one where this problem happens (#402)i went over the changes and it seemed like the loop exited before setting the counter was set so i set:
and it seemed to work on that commit with my sample code, but then again broken when i applied this change on main, so i ran git bisect again etc comparing against my working version and saw some behavior was changed changing AsyncRead impl back to returning Ready whenever data was written to buffer worked
idk how correct this is, but wanted to try to fix this as it did break things with Tower's compression layer enabled for us when we upgraded deps to move from 0.4.32 -> 0.4.36
happy to work on this further and improve this. appreciate any feedback to fix this (: