-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Copy Kestrel perf changes #7480
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
Conversation
using System.Runtime.CompilerServices; | ||
using System.Threading.Tasks; | ||
|
||
namespace Microsoft.AspNetCore.Internal |
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.
Not a fan of this namespace. Is this appropriate?
<Compile Include="$(SignalRSharedSourceRoot)PipeWriterStream.cs" Link="PipeWriterStream.cs" /> | ||
<Compile Include="$(SignalRSharedSourceRoot)ReflectionHelper.cs" Link="ReflectionHelper.cs" /> | ||
<Compile Include="$(SignalRSharedSourceRoot)TimerAwaitable.cs" Link="Internal\TimerAwaitable.cs" /> | ||
<Compile Include="$(SignalRSharedSourceRoot)ValueTaskExtensions.cs" Link="Internal\ValueTaskExtensions.cs" /> |
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.
IMO instead of placing this code under SignalR's shared source directory, it should be under the repos shared source directory: src/Shared
-> https://github.com/aspnet/AspNetCore/tree/master/src/Shared
That way Kestrel and SignalR can use the same copy of code. There is no overhead of creating a source package because we mono repo now.
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.
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.
Do it in another PR. I don't care that much.
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.
You can apply the same optimization to the SignalR client in the class ServerSentEventsMessageParser with the fields _dataPrefix
and _sseLineEnding
.
See #7468 and #7422