-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
Simplify HTTP pipelining implementation #2623
Conversation
HTTP pipelining is still supported but implemented as a simple FIFO queue with just 1 asyncio task attending it. It might allow optimize infrastructures based on microservices that do not use HTTP pipelining
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think with this change we don't really need StreamWriter class anymore.
Codecov Report
@@ Coverage Diff @@
## master #2623 +/- ##
==========================================
+ Coverage 97.91% 97.92% +<.01%
==========================================
Files 38 38
Lines 7331 7265 -66
Branches 1275 1259 -16
==========================================
- Hits 7178 7114 -64
+ Misses 49 47 -2
Partials 104 104
Continue to review full report at Codecov.
|
it is up to you, I'd remove StreamWriter at the same time |
I prefer two steps: the PR is huge already. |
Thanks, @pfreixes |
Legacy StreamWriter as a pure proxy of the transport and the protocol is no longer needed. All of the functionalities that were behind this class has been moved to the PayloadWriter. Some changes that have to be considered that impacted during this change * TCP Operations have been isolated in a module rather than move them into the PayloadWriter * WebSocketWriter had a dependency with the StreamWriter, to get rid of that dependency the constructor has been modified to take the protocol and the transport. A next step changing the name PayLoadWriter for the StreamWriter to have consistency with the reader part, might be considered.
* Get rid of legacy StreamWriter (#2623) Legacy StreamWriter as a pure proxy of the transport and the protocol is no longer needed. All of the functionalities that were behind this class has been moved to the PayloadWriter. Some changes that have to be considered that impacted during this change * TCP Operations have been isolated in a module rather than move them into the PayloadWriter * WebSocketWriter had a dependency with the StreamWriter, to get rid of that dependency the constructor has been modified to take the protocol and the transport. A next step changing the name PayLoadWriter for the StreamWriter to have consistency with the reader part, might be considered. * Add CHANGES * Fixed invalid import order * Fix test broken * Fix tcp_cork issues * Test PayloadWriter properties * Avoid return useless values for tcp_<operations> * Increase coverage http_writer * Increase coverage web_protocol
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a [new issue] for related bugs. |
What do these changes do?
HTTP pipelining is still supported but implemented
as a simple FIFO queue with just 1 Asyncio task attending
it. It might allow optimizing infrastructures based on microservices
that do not use HTTP pipelining.
Are there changes in behavior for the user?
No
Related issue number
#2109