You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue is part of a project to move x/net/http2 into std: #67810
The http2.WriteScheduler interface type defines a scheduler used to select the order in which data is written to HTTP/2 streams. The Server.NewWriteScheduler configuration setting selects a write scheduler to use for server connections. Client connections do not permit configuring the write scheduler.
The package includes three implementations of this interface: Round robin (the default), random, and priority. The priority write scheduler is known to be buggy and the HTTP/2 stream prioritization scheme it implements is deprecated; see #58804 (comment).
Support for user-defined write schedulers is used seldom, if ever, and substantially constrains the HTTP/2 implementation.
Users should not need to configure the HTTP/2 implementation at this level. Of the current set of scheduler options, there is a clear correct choice: The round robin scheduler outperforms the random scheduler, and the priority scheduler is buggy and we have no plans to fix it. If we come up with a better scheduler, we should just make it the default. If we do discover a reason for users to configure this, we can and should provide a simpler configuration setting than what exists now.
I propose deprecating the write scheduler selection mechanism, consisting of the following types and functions:
FrameWriteRequest
NewPriorityWriteScheduler
NewRandomWriteScheduler
OpenStreamOptions
PriorityWriteSchedulerConfig
Server.NewWriteScheduler
WriteScheduler
I propose that we add a deprecation notice to these types and functions today, and remove support for them in one year. After removing support, servers will ignore the value of the NewWriteScheduler field.
The text was updated successfully, but these errors were encountered:
This issue is part of a project to move
x/net/http2
intostd
: #67810The
http2.WriteScheduler
interface type defines a scheduler used to select the order in which data is written to HTTP/2 streams. TheServer.NewWriteScheduler
configuration setting selects a write scheduler to use for server connections. Client connections do not permit configuring the write scheduler.The package includes three implementations of this interface: Round robin (the default), random, and priority. The priority write scheduler is known to be buggy and the HTTP/2 stream prioritization scheme it implements is deprecated; see #58804 (comment).
Support for user-defined write schedulers is used seldom, if ever, and substantially constrains the HTTP/2 implementation.
Users should not need to configure the HTTP/2 implementation at this level. Of the current set of scheduler options, there is a clear correct choice: The round robin scheduler outperforms the random scheduler, and the priority scheduler is buggy and we have no plans to fix it. If we come up with a better scheduler, we should just make it the default. If we do discover a reason for users to configure this, we can and should provide a simpler configuration setting than what exists now.
I propose deprecating the write scheduler selection mechanism, consisting of the following types and functions:
FrameWriteRequest
NewPriorityWriteScheduler
NewRandomWriteScheduler
OpenStreamOptions
PriorityWriteSchedulerConfig
Server.NewWriteScheduler
WriteScheduler
I propose that we add a deprecation notice to these types and functions today, and remove support for them in one year. After removing support, servers will ignore the value of the
NewWriteScheduler
field.The text was updated successfully, but these errors were encountered: