Skip to content

Make Kestrels Internals truly internal. #8517

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

Merged
merged 14 commits into from
Mar 18, 2019
Merged

Make Kestrels Internals truly internal. #8517

merged 14 commits into from
Mar 18, 2019

Conversation

jkotalik
Copy link
Contributor

@jkotalik jkotalik commented Mar 14, 2019

Fixes #8306. Big change here so I'll give you the rundown.

Big Picture:

  • Removes all .Internal namespaces and moves appropriate methods to internal
  • Makes all types in Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions public. These types are already exposed on public API
  • Makes KestrelServerOptionsSetup public

Nitty Gritty:

  • Any method that had a pubternal API was either changed to internal or public accordingly
  • Tests that took in enums that were changed from public to internal were changed appropriately.

For any public API, we probably need to add xml comments appropriately.

@jkotalik
Copy link
Contributor Author

We should also probably have an API review for these changes if we decide to many anything truly public.

@sebastienros let's also make sure this doesn't break the platformbenchmark scenario.

Copy link
Contributor

@pranavkm pranavkm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code changes look great. I'd get sign off from someone more familiar with the API being made public

@sebastienros
Copy link
Member

@sebastienros
Copy link
Member

Looking at your changes I assume it's actually a good change for the PlatformBenchmarks as some use types will now become really public. Still good if some of the things in PB were in Kestrel directly.

Copy link
Member

@halter73 halter73 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

YESSSS! Overall, I'm super happy about this change.

@davidfowl
Copy link
Member

This is going to make it impossible to write a kestrel transport right?

@halter73
Copy link
Member

This is going to make it impossible to write a kestrel transport right?

The plan is to leave the transport abstractions and a few other things like connection adapters pubternal in this first pass.

@jkotalik jkotalik closed this Mar 15, 2019
@jkotalik jkotalik reopened this Mar 15, 2019
@jkotalik
Copy link
Contributor Author

Updated with feedback. I think this is looking muchhhhh better.

@@ -1,4 +1,4 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Copyright (c) .NET Foundation. All rights reserved.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I wish git better tools around normalizing BOMs similar to what it has for line endings gitattributes.

@jkotalik jkotalik merged commit a3c8bd1 into master Mar 18, 2019
@jkotalik jkotalik deleted the jkotalik/internal branch March 18, 2019 17:15
@amcasey amcasey added area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions and removed area-runtime labels Jun 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants