yield drain() after telnetlib3-client stdout.write() - #145
Merged
Conversation
while integrating downstream telix, i've so far been pretty successful by having only "stdout.write()" as an interface, but without a "drain", this gets chopped up, and we don't really know when server ouputput is completed, the drain helps ... or at least I think so, still experimenting/testing
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #145 +/- ##
==========================================
- Coverage 92.60% 92.56% -0.05%
==========================================
Files 28 28
Lines 7125 7127 +2
Branches 1245 1246 +1
==========================================
- Hits 6598 6597 -1
- Misses 340 343 +3
Partials 187 187 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or 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
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.
When integrating with downstream telix, which uses a pretty novel technique of delegating all of telnet client code to telnetlib3-client, except to use a modified object for the
stdout.write()calls. This is sort of asynchronous by accident, that the OS/PTY buffers and chops up the write calls into multiple chunks of syscalls. However, telix needs some signal to know about the "edge boundary" -- when a write call begins and ends, so that it is able to interject and perform write calls of its own.