Skip to content

Commit 9f398d9

Browse files
authored
Fix Http/3 and mark multiplexed factory as experimental (#25012)
* Fix Http/3 and mark multiplexed factory as experimental * mark apis as internal and delete quic samples * Remove extra public api * Mark kestrel server as obsolete * Fixing obsoletion and improved message * Revert "Fixing obsoletion and improved message" This reverts commit acdae87. * Revert "Mark kestrel server as obsolete" This reverts commit fbd861f. * Internalize SocketCOnnectionFactory * nit * fixup
1 parent 1cd7e15 commit 9f398d9

File tree

40 files changed

+475
-668
lines changed

40 files changed

+475
-668
lines changed

AspNetCore.sln

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1397,14 +1397,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sockets.BindTests", "src\Se
13971397
EndProject
13981398
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "http2cat", "src\Servers\Kestrel\samples\http2cat\http2cat.csproj", "{8BDEC645-73BD-453B-8A5C-D616BC4EA08D}"
13991399
EndProject
1400-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "QuicSampleApp", "src\Servers\Kestrel\samples\QuicSampleApp\QuicSampleApp.csproj", "{CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}"
1401-
EndProject
14021400
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Transport.Quic", "Transport.Quic", "{EE9D0952-6060-4723-B329-94A2950A6762}"
14031401
EndProject
14041402
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Server.Kestrel.Transport.Experimental.Quic", "src\Servers\Kestrel\Transport.Quic\src\Microsoft.AspNetCore.Server.Kestrel.Transport.Experimental.Quic.csproj", "{132D43A2-067A-4E24-A520-45B9F14DCB8E}"
14051403
EndProject
1406-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "QuicSampleClient", "src\Servers\Kestrel\samples\QuicSampleClient\QuicSampleClient.csproj", "{FA8D7CA4-C33B-4409-865F-54192BAC59A4}"
1407-
EndProject
14081404
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Http3SampleApp", "src\Servers\Kestrel\samples\Http3SampleApp\Http3SampleApp.csproj", "{2EC4E939-513F-44CD-A956-498966EAC929}"
14091405
EndProject
14101406
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "HttpStress", "src\Servers\Kestrel\stress\HttpStress.csproj", "{987E1C29-F124-40C8-8E6F-1B2B6A4CB62A}"
@@ -6667,18 +6663,6 @@ Global
66676663
{8BDEC645-73BD-453B-8A5C-D616BC4EA08D}.Release|x64.Build.0 = Release|Any CPU
66686664
{8BDEC645-73BD-453B-8A5C-D616BC4EA08D}.Release|x86.ActiveCfg = Release|Any CPU
66696665
{8BDEC645-73BD-453B-8A5C-D616BC4EA08D}.Release|x86.Build.0 = Release|Any CPU
6670-
{CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
6671-
{CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Debug|Any CPU.Build.0 = Debug|Any CPU
6672-
{CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Debug|x64.ActiveCfg = Debug|Any CPU
6673-
{CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Debug|x64.Build.0 = Debug|Any CPU
6674-
{CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Debug|x86.ActiveCfg = Debug|Any CPU
6675-
{CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Debug|x86.Build.0 = Debug|Any CPU
6676-
{CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Release|Any CPU.ActiveCfg = Release|Any CPU
6677-
{CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Release|Any CPU.Build.0 = Release|Any CPU
6678-
{CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Release|x64.ActiveCfg = Release|Any CPU
6679-
{CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Release|x64.Build.0 = Release|Any CPU
6680-
{CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Release|x86.ActiveCfg = Release|Any CPU
6681-
{CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D}.Release|x86.Build.0 = Release|Any CPU
66826666
{132D43A2-067A-4E24-A520-45B9F14DCB8E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
66836667
{132D43A2-067A-4E24-A520-45B9F14DCB8E}.Debug|Any CPU.Build.0 = Debug|Any CPU
66846668
{132D43A2-067A-4E24-A520-45B9F14DCB8E}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -6691,18 +6675,6 @@ Global
66916675
{132D43A2-067A-4E24-A520-45B9F14DCB8E}.Release|x64.Build.0 = Release|Any CPU
66926676
{132D43A2-067A-4E24-A520-45B9F14DCB8E}.Release|x86.ActiveCfg = Release|Any CPU
66936677
{132D43A2-067A-4E24-A520-45B9F14DCB8E}.Release|x86.Build.0 = Release|Any CPU
6694-
{FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
6695-
{FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
6696-
{FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Debug|x64.ActiveCfg = Debug|Any CPU
6697-
{FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Debug|x64.Build.0 = Debug|Any CPU
6698-
{FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Debug|x86.ActiveCfg = Debug|Any CPU
6699-
{FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Debug|x86.Build.0 = Debug|Any CPU
6700-
{FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
6701-
{FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Release|Any CPU.Build.0 = Release|Any CPU
6702-
{FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Release|x64.ActiveCfg = Release|Any CPU
6703-
{FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Release|x64.Build.0 = Release|Any CPU
6704-
{FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Release|x86.ActiveCfg = Release|Any CPU
6705-
{FA8D7CA4-C33B-4409-865F-54192BAC59A4}.Release|x86.Build.0 = Release|Any CPU
67066678
{2EC4E939-513F-44CD-A956-498966EAC929}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
67076679
{2EC4E939-513F-44CD-A956-498966EAC929}.Debug|Any CPU.Build.0 = Debug|Any CPU
67086680
{2EC4E939-513F-44CD-A956-498966EAC929}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -7857,10 +7829,8 @@ Global
78577829
{8550A02D-BA13-411A-AAD3-6124D33D669F} = {47EF1A9F-89DB-4EBA-9BC1-1D4E0E12DE44}
78587830
{EDE77D0C-321A-49FD-95D7-56ED41242A93} = {47EF1A9F-89DB-4EBA-9BC1-1D4E0E12DE44}
78597831
{8BDEC645-73BD-453B-8A5C-D616BC4EA08D} = {7B976D8F-EA31-4C0B-97BD-DFD9B3CC86FB}
7860-
{CBCD6AC2-72D3-4E82-9E78-12E3A9C68E1D} = {7B976D8F-EA31-4C0B-97BD-DFD9B3CC86FB}
78617832
{EE9D0952-6060-4723-B329-94A2950A6762} = {4FDDC525-4E60-4CAF-83A3-261C5B43721F}
78627833
{132D43A2-067A-4E24-A520-45B9F14DCB8E} = {EE9D0952-6060-4723-B329-94A2950A6762}
7863-
{FA8D7CA4-C33B-4409-865F-54192BAC59A4} = {7B976D8F-EA31-4C0B-97BD-DFD9B3CC86FB}
78647834
{2EC4E939-513F-44CD-A956-498966EAC929} = {7B976D8F-EA31-4C0B-97BD-DFD9B3CC86FB}
78657835
{987E1C29-F124-40C8-8E6F-1B2B6A4CB62A} = {4FDDC525-4E60-4CAF-83A3-261C5B43721F}
78667836
{3CBC4802-E9B8-48B7-BC8C-B0AFB9EEC643} = {0ACCEDA7-339C-4B4D-8DD4-1AC271F31C04}

src/Servers/Connections.Abstractions/src/IMulitplexedConnectionListener.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,12 @@
77
using System.Threading.Tasks;
88
using Microsoft.AspNetCore.Http.Features;
99

10-
namespace Microsoft.AspNetCore.Connections
10+
namespace Microsoft.AspNetCore.Connections.Experimental
1111
{
1212
/// <summary>
1313
/// Defines an interface that represents a listener bound to a specific <see cref="EndPoint"/>.
1414
/// </summary>
15-
public interface IMultiplexedConnectionListener : IAsyncDisposable
15+
internal interface IMultiplexedConnectionListener : IAsyncDisposable
1616
{
1717
/// <summary>
1818
/// The endpoint that was bound. This may differ from the requested endpoint, such as when the caller requested that any free port be selected.

src/Servers/Connections.Abstractions/src/IMultiplexedConnectionBuilder.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33

44
using System;
55

6-
namespace Microsoft.AspNetCore.Connections
6+
namespace Microsoft.AspNetCore.Connections.Experimental
77
{
88
/// <summary>
99
/// Defines an interface that provides the mechanisms to configure a connection pipeline.
1010
/// </summary>
11-
public interface IMultiplexedConnectionBuilder
11+
internal interface IMultiplexedConnectionBuilder
1212
{
1313
/// <summary>
1414
/// Gets the <see cref="IServiceProvider"/> that provides access to the application's service container.

src/Servers/Connections.Abstractions/src/IMultiplexedConnectionFactory.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
using System.Threading.Tasks;
77
using Microsoft.AspNetCore.Http.Features;
88

9-
namespace Microsoft.AspNetCore.Connections
9+
namespace Microsoft.AspNetCore.Connections.Experimental
1010
{
1111
/// <summary>
1212
/// A factory abstraction for creating connections to an endpoint.
1313
/// </summary>
14-
public interface IMultiplexedConnectionFactory
14+
internal interface IMultiplexedConnectionFactory
1515
{
1616
/// <summary>
1717
/// Creates a new connection to an endpoint.

src/Servers/Connections.Abstractions/src/IMultiplexedConnectionListenerFactory.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
using System.Threading.Tasks;
77
using Microsoft.AspNetCore.Http.Features;
88

9-
namespace Microsoft.AspNetCore.Connections
9+
namespace Microsoft.AspNetCore.Connections.Experimental
1010
{
1111
/// <summary>
1212
/// Defines an interface that provides the mechanisms for binding to various types of <see cref="EndPoint"/>s.
1313
/// </summary>
14-
public interface IMultiplexedConnectionListenerFactory
14+
internal interface IMultiplexedConnectionListenerFactory
1515
{
1616
/// <summary>
1717
/// Creates an <see cref="IMultiplexedConnectionListener"/> bound to the specified <see cref="EndPoint"/>.

src/Servers/Connections.Abstractions/src/MultiplexedConnectionBuilder.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
using System.Linq;
77
using System.Threading.Tasks;
88

9-
namespace Microsoft.AspNetCore.Connections
9+
namespace Microsoft.AspNetCore.Connections.Experimental
1010
{
11-
public class MultiplexedConnectionBuilder : IMultiplexedConnectionBuilder
11+
internal class MultiplexedConnectionBuilder : IMultiplexedConnectionBuilder
1212
{
1313
private readonly IList<Func<MultiplexedConnectionDelegate, MultiplexedConnectionDelegate>> _components = new List<Func<MultiplexedConnectionDelegate, MultiplexedConnectionDelegate>>();
1414

src/Servers/Connections.Abstractions/src/MultiplexedConnectionContext.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,12 @@
66
using System.Threading.Tasks;
77
using Microsoft.AspNetCore.Http.Features;
88

9-
namespace Microsoft.AspNetCore.Connections
9+
namespace Microsoft.AspNetCore.Connections.Experimental
1010
{
1111
/// <summary>
1212
/// Encapsulates all information about a multiplexed connection.
1313
/// </summary>
14-
public abstract class MultiplexedConnectionContext : BaseConnectionContext, IAsyncDisposable
14+
internal abstract class MultiplexedConnectionContext : BaseConnectionContext, IAsyncDisposable
1515
{
1616
/// <summary>
1717
/// Asynchronously accept an incoming stream on the connection.

src/Servers/Connections.Abstractions/src/MultiplexedConnectionDelegate.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33

44
using System.Threading.Tasks;
55

6-
namespace Microsoft.AspNetCore.Connections
6+
namespace Microsoft.AspNetCore.Connections.Experimental
77
{
88
/// <summary>
99
/// A function that can process a connection.
1010
/// </summary>
1111
/// <param name="connection">A <see cref="MultiplexedConnectionContext" /> representing the connection.</param>
1212
/// <returns>A <see cref="Task"/> that represents the connection lifetime. When the task completes, the connection will be closed.</returns>
13-
public delegate Task MultiplexedConnectionDelegate(MultiplexedConnectionContext connection);
13+
internal delegate Task MultiplexedConnectionDelegate(MultiplexedConnectionContext connection);
1414
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
// Copyright (c) .NET Foundation. All rights reserved.
2+
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
3+
4+
using System.Runtime.CompilerServices;
5+
6+
[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Server.Kestrel.Core, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
7+
[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Server.Kestrel.Tests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
8+
[assembly: InternalsVisibleTo("Microsoft.AspNetCore.Server.Kestrel.Transport.Experimental.Quic, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]
9+
[assembly: InternalsVisibleTo("InMemory.FunctionalTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100f33a29044fa9d740c9b3213a93e57c84b472c84e0b8a0e1ae48e67a9f8f6de9d5f7f3d52ac23e48ac51801f1dc950abe901da34d2a9e3baadb141a17c77ef3c565dd5ee5054b91cf63bb3c6ab83f72ab3aafe93d0fc3c2348b764fafb0b1c0733de51459aeab46580384bf9d74c4e28164b7cde247f891ba07891c9d872ad2bb")]

src/Servers/HttpSys/test/FunctionalTests/Microsoft.AspNetCore.Server.HttpSys.FunctionalTests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
<Compile Include="$(SharedSourceRoot)runtime\SR.cs" LinkBase="Shared\SR.cs" />
1313
<Compile Include="$(SharedSourceRoot)Http2cat\**\*.cs" LinkBase="Shared\Http2cat" />
1414
<Compile Include="$(SharedSourceRoot)ServerInfrastructure\**\*.cs" LinkBase="Shared\" />
15+
<Compile Remove="$(SharedSourceRoot)ServerInfrastructure\DuplexPipe.cs" />
1516
<Compile Remove="$(SharedSourceRoot)ServerInfrastructure\StringUtilities.cs" />
1617
</ItemGroup>
1718

0 commit comments

Comments
 (0)