Rename namespaces/directories/classes in Kestrel.Core and Transport.Libuv (#1582).

- Put everything in the libuv transport package under `Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.*` namespaces.
- Move stuff in Transport.Libuv/Internal/Http and Transport.Libuv/Internal/Infrastructure to Transport.Libuv/Internal (keep the Networking directory for the libuv wrappers).
- Add `Libuv` prefix to most libuv internal classes.
- Rename `KestrelEngine` to `LibuvTransport`.
- Rename `SocketOutputConsumer` to `LibuvOutputConsumer`.
- Rename `SocketOutputProducer` to `OutputProducer`.
- Fix namespaces in `Microsoft.AspNetCore.Server.Kestrel.Core.`
This commit is contained in:
Cesar Blum Silveira 2017-04-04 13:45:02 -07:00 committed by GitHub
parent e0de7f1e1e
commit 7ceea5323a
183 changed files with 459 additions and 493 deletions

View File

@ -8,7 +8,7 @@ using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Server.Kestrel.Internal; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace SampleApp namespace SampleApp

View File

@ -3,7 +3,7 @@
using System.IO; using System.IO;
namespace Microsoft.AspNetCore.Server.Kestrel.Adapter namespace Microsoft.AspNetCore.Server.Kestrel.Core.Adapter
{ {
// Even though this only includes the non-adapted ConnectionStream currently, this is a context in case // Even though this only includes the non-adapted ConnectionStream currently, this is a context in case
// we want to add more connection metadata later. // we want to add more connection metadata later.

View File

@ -4,7 +4,7 @@
using System.IO; using System.IO;
using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Http.Features;
namespace Microsoft.AspNetCore.Server.Kestrel.Adapter namespace Microsoft.AspNetCore.Server.Kestrel.Core.Adapter
{ {
public interface IAdaptedConnection public interface IAdaptedConnection
{ {

View File

@ -3,7 +3,7 @@
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Microsoft.AspNetCore.Server.Kestrel.Adapter namespace Microsoft.AspNetCore.Server.Kestrel.Core.Adapter
{ {
public interface IConnectionAdapter public interface IConnectionAdapter
{ {

View File

@ -5,9 +5,9 @@ using System;
using System.IO; using System.IO;
using System.IO.Pipelines; using System.IO.Pipelines;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Http; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http;
namespace Microsoft.AspNetCore.Server.Kestrel.Adapter.Internal namespace Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal
{ {
public class AdaptedPipeline public class AdaptedPipeline
{ {

View File

@ -8,7 +8,7 @@ using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace Microsoft.AspNetCore.Server.Kestrel.Adapter.Internal namespace Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal
{ {
internal class LoggingStream : Stream internal class LoggingStream : Stream
{ {

View File

@ -6,9 +6,9 @@ using System.IO;
using System.IO.Pipelines; using System.IO.Pipelines;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Http; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http;
namespace Microsoft.AspNetCore.Server.Kestrel.Adapter.Internal namespace Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal
{ {
public class RawStream : Stream public class RawStream : Stream
{ {

View File

@ -6,9 +6,9 @@ using System.IO;
using System.IO.Pipelines; using System.IO.Pipelines;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Http; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http;
namespace Microsoft.AspNetCore.Server.Kestrel.Adapter.Internal namespace Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal
{ {
public class StreamSocketOutput : ISocketOutput public class StreamSocketOutput : ISocketOutput
{ {

View File

@ -1,8 +1,8 @@
// Copyright (c) .NET Foundation. All rights reserved. // Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Microsoft.AspNetCore.Server.Kestrel; using Microsoft.AspNetCore.Server.Kestrel.Core;
using Microsoft.AspNetCore.Server.Kestrel.Adapter; using Microsoft.AspNetCore.Server.Kestrel.Core.Adapter;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;

View File

@ -5,10 +5,10 @@ using System;
using System.IO; using System.IO;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Http.Features;
using Microsoft.AspNetCore.Server.Kestrel.Adapter.Internal; using Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace Microsoft.AspNetCore.Server.Kestrel.Adapter namespace Microsoft.AspNetCore.Server.Kestrel.Core.Adapter
{ {
public class LoggingConnectionAdapter : IConnectionAdapter public class LoggingConnectionAdapter : IConnectionAdapter
{ {

View File

@ -3,11 +3,11 @@
using System.IO; using System.IO;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Http; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure;
using Microsoft.Extensions.Primitives; using Microsoft.Extensions.Primitives;
namespace Microsoft.AspNetCore.Server.Kestrel namespace Microsoft.AspNetCore.Server.Kestrel.Core
{ {
public sealed class BadHttpRequestException : IOException public sealed class BadHttpRequestException : IOException
{ {

View File

@ -3,11 +3,11 @@
using System.IO.Pipelines; using System.IO.Pipelines;
using Microsoft.AspNetCore.Hosting.Server; using Microsoft.AspNetCore.Hosting.Server;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Http; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions; using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal
{ {
public class ConnectionHandler<TContext> : IConnectionHandler public class ConnectionHandler<TContext> : IConnectionHandler
{ {
@ -38,7 +38,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal
// TODO: Untangle this mess // TODO: Untangle this mess
var frame = new Frame<TContext>(_application, frameContext); var frame = new Frame<TContext>(_application, frameContext);
var outputProducer = new SocketOutputProducer(outputPipe.Writer, frame, connectionId, _serviceContext.Log); var outputProducer = new OutputProducer(outputPipe.Writer, frame, connectionId, _serviceContext.Log);
frame.LifetimeControl = new ConnectionLifetimeControl(connectionId, outputPipe.Reader, outputProducer, _serviceContext.Log); frame.LifetimeControl = new ConnectionLifetimeControl(connectionId, outputPipe.Reader, outputProducer, _serviceContext.Log);
var connection = new FrameConnection(new FrameConnectionContext var connection = new FrameConnection(new FrameConnectionContext

View File

@ -6,15 +6,15 @@ using System.Collections.Generic;
using System.IO; using System.IO;
using System.IO.Pipelines; using System.IO.Pipelines;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Server.Kestrel.Adapter; using Microsoft.AspNetCore.Server.Kestrel.Core.Adapter;
using Microsoft.AspNetCore.Server.Kestrel.Adapter.Internal; using Microsoft.AspNetCore.Server.Kestrel.Core.Adapter.Internal;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Http; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions; using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions;
using Microsoft.Extensions.Internal; using Microsoft.Extensions.Internal;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal
{ {
public class FrameConnection : IConnectionContext public class FrameConnection : IConnectionContext
{ {

View File

@ -3,10 +3,10 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.IO.Pipelines; using System.IO.Pipelines;
using Microsoft.AspNetCore.Server.Kestrel.Adapter; using Microsoft.AspNetCore.Server.Kestrel.Core.Adapter;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Http; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal
{ {
public class FrameConnectionContext public class FrameConnectionContext
{ {
@ -15,7 +15,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal
public PipeFactory PipeFactory { get; set; } public PipeFactory PipeFactory { get; set; }
public List<IConnectionAdapter> ConnectionAdapters { get; set; } public List<IConnectionAdapter> ConnectionAdapters { get; set; }
public Frame Frame { get; set; } public Frame Frame { get; set; }
public SocketOutputProducer OutputProducer { get; set; } public OutputProducer OutputProducer { get; set; }
public IPipe Input { get; set; } public IPipe Input { get; set; }
public IPipe Output { get; set; } public IPipe Output { get; set; }

View File

@ -5,7 +5,7 @@ using System;
using System.IO.Pipelines; using System.IO.Pipelines;
using System.Text; using System.Text;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public static class ChunkWriter public static class ChunkWriter
{ {

View File

@ -2,16 +2,16 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.IO.Pipelines; using System.IO.Pipelines;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public class ConnectionLifetimeControl public class ConnectionLifetimeControl
{ {
public ConnectionLifetimeControl( public ConnectionLifetimeControl(
string connectionId, string connectionId,
IPipeReader outputPipeReader, IPipeReader outputPipeReader,
SocketOutputProducer outputProducer, OutputProducer outputProducer,
IKestrelTrace log) IKestrelTrace log)
{ {
ConnectionId = connectionId; ConnectionId = connectionId;
@ -22,7 +22,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http
private string ConnectionId { get; } private string ConnectionId { get; }
private IPipeReader OutputReader { get; } private IPipeReader OutputReader { get; }
private SocketOutputProducer OutputProducer { get; } private OutputProducer OutputProducer { get; }
private IKestrelTrace Log { get; } private IKestrelTrace Log { get; }
public void End(ProduceEndType endType) public void End(ProduceEndType endType)

View File

@ -3,7 +3,7 @@
using System; using System;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
[Flags] [Flags]
public enum ConnectionOptions public enum ConnectionOptions

View File

@ -4,10 +4,10 @@
using System; using System;
using System.Text; using System.Text;
using System.Threading; using System.Threading;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure;
using Microsoft.Net.Http.Headers; using Microsoft.Net.Http.Headers;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
/// <summary> /// <summary>
/// Manages the generation of the date header value. /// Manages the generation of the date header value.

View File

@ -12,7 +12,7 @@ using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Http.Features;
using Microsoft.Extensions.Primitives; using Microsoft.Extensions.Primitives;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public partial class Frame : IFeatureCollection, public partial class Frame : IFeatureCollection,
IHttpRequestFeature, IHttpRequestFeature,

View File

@ -4,7 +4,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public partial class Frame public partial class Frame
{ {

View File

@ -14,8 +14,8 @@ using System.Text.Encodings.Web.Utf8;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Server.Kestrel.Adapter; using Microsoft.AspNetCore.Server.Kestrel.Core.Adapter;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions; using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions;
using Microsoft.Extensions.Internal; using Microsoft.Extensions.Internal;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
@ -23,7 +23,7 @@ using Microsoft.Extensions.Primitives;
// ReSharper disable AccessToModifiedClosure // ReSharper disable AccessToModifiedClosure
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public abstract partial class Frame : IFrameControl, IHttpRequestLineHandler, IHttpHeadersHandler public abstract partial class Frame : IFrameControl, IHttpRequestLineHandler, IHttpHeadersHandler
{ {

View File

@ -3,7 +3,7 @@
using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions; using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public class FrameContext public class FrameContext
{ {

View File

@ -8,7 +8,7 @@ using System.IO;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
class FrameDuplexStream : Stream class FrameDuplexStream : Stream
{ {

View File

@ -4,11 +4,11 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO.Pipelines; using System.IO.Pipelines;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure;
using Microsoft.Extensions.Primitives; using Microsoft.Extensions.Primitives;
using Microsoft.Net.Http.Headers; using Microsoft.Net.Http.Headers;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public partial class FrameRequestHeaders public partial class FrameRequestHeaders

View File

@ -9,7 +9,7 @@ using System.Runtime.CompilerServices;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Primitives; using Microsoft.Extensions.Primitives;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public abstract class FrameHeaders : IHeaderDictionary public abstract class FrameHeaders : IHeaderDictionary
{ {

View File

@ -6,11 +6,11 @@ using System.IO;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Hosting.Server; using Microsoft.AspNetCore.Hosting.Server;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions; using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public class Frame<TContext> : Frame public class Frame<TContext> : Frame
{ {

View File

@ -5,11 +5,11 @@ using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure;
using Microsoft.Extensions.Primitives; using Microsoft.Extensions.Primitives;
using Microsoft.Net.Http.Headers; using Microsoft.Net.Http.Headers;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public partial class FrameRequestHeaders : FrameHeaders public partial class FrameRequestHeaders : FrameHeaders
{ {

View File

@ -7,7 +7,7 @@ using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.Extensions.Internal; using Microsoft.Extensions.Internal;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
class FrameRequestStream : Stream class FrameRequestStream : Stream
{ {

View File

@ -9,7 +9,7 @@ using System.Runtime.CompilerServices;
using Microsoft.Extensions.Primitives; using Microsoft.Extensions.Primitives;
using Microsoft.Net.Http.Headers; using Microsoft.Net.Http.Headers;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public partial class FrameResponseHeaders : FrameHeaders public partial class FrameResponseHeaders : FrameHeaders
{ {

View File

@ -6,7 +6,7 @@ using System.IO;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
class FrameResponseStream : Stream class FrameResponseStream : Stream
{ {

View File

@ -1,7 +1,7 @@
// Copyright (c) .NET Foundation. All rights reserved. // Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
enum FrameStreamState enum FrameStreamState
{ {

View File

@ -1,7 +1,7 @@
// Copyright (c) .NET Foundation. All rights reserved. // Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public enum HttpMethod: byte public enum HttpMethod: byte
{ {

View File

@ -1,7 +1,7 @@
// Copyright (c) .NET Foundation. All rights reserved. // Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public enum HttpScheme public enum HttpScheme
{ {

View File

@ -1,7 +1,7 @@
// Copyright (c) .NET Foundation. All rights reserved. // Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public enum HttpVersion public enum HttpVersion
{ {

View File

@ -5,7 +5,7 @@ using System;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public interface IFrameControl public interface IFrameControl
{ {

View File

@ -3,7 +3,7 @@
using System; using System;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public interface IHttpHeadersHandler public interface IHttpHeadersHandler
{ {

View File

@ -3,7 +3,7 @@
using System.IO.Pipelines; using System.IO.Pipelines;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public interface IHttpParser public interface IHttpParser
{ {

View File

@ -3,7 +3,7 @@
using System; using System;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public interface IHttpRequestLineHandler public interface IHttpRequestLineHandler
{ {

View File

@ -6,7 +6,7 @@ using System.IO.Pipelines;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
/// <summary> /// <summary>
/// Operations performed for buffered socket output /// Operations performed for buffered socket output

View File

@ -5,10 +5,10 @@ using System;
using System.IO.Pipelines; using System.IO.Pipelines;
using System.Numerics; using System.Numerics;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public class KestrelHttpParser : IHttpParser public class KestrelHttpParser : IHttpParser
{ {

View File

@ -9,7 +9,7 @@ using System.Threading.Tasks;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Internal; using Microsoft.Extensions.Internal;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public abstract class MessageBody public abstract class MessageBody
{ {

View File

@ -5,12 +5,12 @@ using System;
using System.IO.Pipelines; using System.IO.Pipelines;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure;
using Microsoft.Extensions.Internal; using Microsoft.Extensions.Internal;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public class SocketOutputProducer : ISocketOutput, IDisposable public class OutputProducer : ISocketOutput, IDisposable
{ {
private static readonly ArraySegment<byte> _emptyData = new ArraySegment<byte>(new byte[0]); private static readonly ArraySegment<byte> _emptyData = new ArraySegment<byte>(new byte[0]);
@ -33,7 +33,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http
private readonly object _flushLock = new object(); private readonly object _flushLock = new object();
private readonly Action _onFlushCallback; private readonly Action _onFlushCallback;
public SocketOutputProducer(IPipeWriter pipe, Frame frame, string connectionId, IKestrelTrace log) public OutputProducer(IPipeWriter pipe, Frame frame, string connectionId, IKestrelTrace log)
{ {
_pipe = pipe; _pipe = pipe;
_frame = frame; _frame = frame;

View File

@ -4,7 +4,7 @@
using System; using System;
using System.Diagnostics; using System.Diagnostics;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public static class PathNormalizer public static class PathNormalizer
{ {

View File

@ -7,7 +7,7 @@ using System.IO.Pipelines;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public static class PipelineExtensions public static class PipelineExtensions
{ {

View File

@ -1,7 +1,7 @@
// Copyright (c) .NET Foundation. All rights reserved. // Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public enum ProduceEndType public enum ProduceEndType
{ {

View File

@ -6,7 +6,7 @@ using System.Globalization;
using System.Text; using System.Text;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public static class ReasonPhrases public static class ReasonPhrases
{ {

View File

@ -1,7 +1,7 @@
// Copyright (c) .NET Foundation. All rights reserved. // Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public enum RequestProcessingStatus public enum RequestProcessingStatus
{ {

View File

@ -1,7 +1,7 @@
// Copyright (c) .NET Foundation. All rights reserved. // Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
public enum RequestRejectionReason public enum RequestRejectionReason
{ {

View File

@ -3,7 +3,7 @@
using System; using System;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
{ {
[Flags] [Flags]
public enum TransferCoding public enum TransferCoding

View File

@ -1,7 +1,7 @@
// Copyright (c) .NET Foundation. All rights reserved. // Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure
{ {
internal class AsciiUtilities internal class AsciiUtilities
{ {

View File

@ -4,7 +4,7 @@
using System; using System;
using System.Threading; using System.Threading;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure
{ {
internal static class CancellationTokenExtensions internal static class CancellationTokenExtensions
{ {

View File

@ -1,7 +1,7 @@
// Copyright (c) .NET Foundation. All rights reserved. // Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure
{ {
internal static class Constants internal static class Constants
{ {

View File

@ -4,7 +4,7 @@
using System; using System;
using System.Threading; using System.Threading;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure
{ {
internal static class CorrelationIdGenerator internal static class CorrelationIdGenerator
{ {

View File

@ -3,7 +3,7 @@
using System; using System;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure
{ {
/// <summary> /// <summary>
/// Summary description for Disposable /// Summary description for Disposable

View File

@ -4,7 +4,7 @@
using System; using System;
using System.Threading; using System.Threading;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure
{ {
internal class DisposableAction : IDisposable internal class DisposableAction : IDisposable
{ {

View File

@ -6,9 +6,9 @@ using System.Diagnostics;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Text; using System.Text;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Http; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure
{ {
public static class HttpUtilities public static class HttpUtilities
{ {

View File

@ -4,7 +4,7 @@
using System; using System;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure
{ {
public interface IKestrelTrace : ILogger public interface IKestrelTrace : ILogger
{ {

View File

@ -3,7 +3,7 @@
using System; using System;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure
{ {
/// <summary> /// <summary>
/// Abstracts the system clock to facilitate testing. /// Abstracts the system clock to facilitate testing.

View File

@ -6,7 +6,7 @@ using System.IO.Pipelines;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure
{ {
public interface IThreadPool : IScheduler public interface IThreadPool : IScheduler
{ {

View File

@ -6,7 +6,7 @@ using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure
{ {
public class InlineLoggingThreadPool : IThreadPool public class InlineLoggingThreadPool : IThreadPool
{ {

View File

@ -3,10 +3,10 @@
using System.Diagnostics.Tracing; using System.Diagnostics.Tracing;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Http; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions; using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure
{ {
[EventSource(Name = "Microsoft-AspNetCore-Server-Kestrel")] [EventSource(Name = "Microsoft-AspNetCore-Server-Kestrel")]
public sealed class KestrelEventSource : EventSource public sealed class KestrelEventSource : EventSource

View File

@ -2,10 +2,10 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System; using System;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal
{ {
/// <summary> /// <summary>
/// Summary description for KestrelTrace /// Summary description for KestrelTrace

View File

@ -6,7 +6,7 @@ using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure
{ {
public class LoggingThreadPool : IThreadPool public class LoggingThreadPool : IThreadPool
{ {

View File

@ -1,9 +1,9 @@
// Copyright (c) .NET Foundation. All rights reserved. // Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Microsoft.AspNetCore.Server.Kestrel.Internal.Http; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure
{ {
class Streams class Streams
{ {

View File

@ -3,7 +3,7 @@
using System; using System;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure
{ {
/// <summary> /// <summary>
/// Provides access to the normal system clock. /// Provides access to the normal system clock.

View File

@ -1,7 +1,7 @@
// Copyright (c) .NET Foundation. All rights reserved. // Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure
{ {
public class UriUtilities public class UriUtilities
{ {

View File

@ -1,7 +1,7 @@
// Copyright (c) .NET Foundation. All rights reserved. // Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
namespace Microsoft.AspNetCore.Server.Kestrel.Internal namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal
{ {
public class InternalKestrelServerOptions public class InternalKestrelServerOptions
{ {

View File

@ -4,7 +4,7 @@
using System; using System;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal
{ {
public class KestrelServerOptionsSetup : IConfigureOptions<KestrelServerOptions> public class KestrelServerOptionsSetup : IConfigureOptions<KestrelServerOptions>
{ {

View File

@ -2,10 +2,10 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System; using System;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Http; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal
{ {
public class ServiceContext public class ServiceContext
{ {

View File

@ -12,14 +12,13 @@ using Microsoft.AspNetCore.Hosting.Server;
using Microsoft.AspNetCore.Hosting.Server.Features; using Microsoft.AspNetCore.Hosting.Server.Features;
using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Http.Features;
using Microsoft.AspNetCore.Server.Kestrel.Core.Internal; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal;
using Microsoft.AspNetCore.Server.Kestrel.Internal; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Http; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions; using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options; using Microsoft.Extensions.Options;
namespace Microsoft.AspNetCore.Server.Kestrel namespace Microsoft.AspNetCore.Server.Kestrel.Core
{ {
public class KestrelServer : IServer public class KestrelServer : IServer
{ {

View File

@ -3,7 +3,7 @@
using System; using System;
namespace Microsoft.AspNetCore.Server.Kestrel namespace Microsoft.AspNetCore.Server.Kestrel.Core
{ {
public class KestrelServerLimits public class KestrelServerLimits
{ {

View File

@ -5,7 +5,7 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Net; using System.Net;
namespace Microsoft.AspNetCore.Server.Kestrel namespace Microsoft.AspNetCore.Server.Kestrel.Core
{ {
/// <summary> /// <summary>
/// Provides programmatic configuration of Kestrel-specific features. /// Provides programmatic configuration of Kestrel-specific features.

View File

@ -4,10 +4,10 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Net; using System.Net;
using Microsoft.AspNetCore.Server.Kestrel.Adapter; using Microsoft.AspNetCore.Server.Kestrel.Core.Adapter;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions; using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions;
namespace Microsoft.AspNetCore.Server.Kestrel namespace Microsoft.AspNetCore.Server.Kestrel.Core
{ {
/// <summary> /// <summary>
/// Describes either an <see cref="IPEndPoint"/>, Unix domain socket path, or a file descriptor for an already open /// Describes either an <see cref="IPEndPoint"/>, Unix domain socket path, or a file descriptor for an already open

View File

@ -4,9 +4,9 @@
using System; using System;
using System.Diagnostics; using System.Diagnostics;
using System.Globalization; using System.Globalization;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure; using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure;
namespace Microsoft.AspNetCore.Server.Kestrel namespace Microsoft.AspNetCore.Server.Kestrel.Core
{ {
public class ServerAddress public class ServerAddress
{ {

View File

@ -4,7 +4,7 @@
using System; using System;
using System.Diagnostics; using System.Diagnostics;
using System.Globalization; using System.Globalization;
using Microsoft.AspNetCore.Server.Kestrel; using Microsoft.AspNetCore.Server.Kestrel.Core;
namespace Microsoft.AspNetCore.Hosting namespace Microsoft.AspNetCore.Hosting
{ {

View File

@ -7,7 +7,7 @@ using System.Net.Security;
using System.Security.Cryptography.X509Certificates; using System.Security.Cryptography.X509Certificates;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Http.Features; using Microsoft.AspNetCore.Http.Features;
using Microsoft.AspNetCore.Server.Kestrel.Adapter; using Microsoft.AspNetCore.Server.Kestrel.Core.Adapter;
using Microsoft.AspNetCore.Server.Kestrel.Https.Internal; using Microsoft.AspNetCore.Server.Kestrel.Https.Internal;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;

View File

@ -3,7 +3,7 @@
using System.IO; using System.IO;
using System.Security.Cryptography.X509Certificates; using System.Security.Cryptography.X509Certificates;
using Microsoft.AspNetCore.Server.Kestrel; using Microsoft.AspNetCore.Server.Kestrel.Core;
using Microsoft.AspNetCore.Server.Kestrel.Https; using Microsoft.AspNetCore.Server.Kestrel.Https;
using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;

View File

@ -3,7 +3,7 @@
using System.Threading.Tasks; using System.Threading.Tasks;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal
{ {
interface IAsyncDisposable interface IAsyncDisposable
{ {

View File

@ -4,7 +4,7 @@
using System; using System;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Infrastructure namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal
{ {
public interface ILibuvTrace : ILogger public interface ILibuvTrace : ILogger
{ {

View File

@ -5,9 +5,9 @@ using System;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Networking; using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Networking;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal
{ {
public class LibuvAwaitable<TRequest> : ICriticalNotifyCompletion where TRequest : UvRequest public class LibuvAwaitable<TRequest> : ICriticalNotifyCompletion where TRequest : UvRequest
{ {

View File

@ -7,15 +7,13 @@ using System.IO;
using System.IO.Pipelines; using System.IO.Pipelines;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure; using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Networking;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Networking;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions; using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Infrastructure;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal
{ {
public class Connection : ConnectionContext, ITimeoutControl public class LibuvConnection : LibuvConnectionContext, ITimeoutControl
{ {
private const int MinAllocBufferSize = 2048; private const int MinAllocBufferSize = 2048;
@ -35,7 +33,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http
private TimeoutAction _timeoutAction; private TimeoutAction _timeoutAction;
private WritableBuffer? _currentWritableBuffer; private WritableBuffer? _currentWritableBuffer;
public Connection(ListenerContext context, UvStreamHandle socket) : base(context) public LibuvConnection(ListenerContext context, UvStreamHandle socket) : base(context)
{ {
_socket = socket; _socket = socket;
socket.Connection = this; socket.Connection = this;
@ -52,17 +50,17 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http
} }
// For testing // For testing
public Connection() public LibuvConnection()
{ {
} }
public string ConnectionId { get; set; } public string ConnectionId { get; set; }
public IPipeWriter Input { get; set; } public IPipeWriter Input { get; set; }
public SocketOutputConsumer Output { get; set; } public LibuvOutputConsumer Output { get; set; }
private ILibuvTrace Log => ListenerContext.TransportContext.Log; private ILibuvTrace Log => ListenerContext.TransportContext.Log;
private IConnectionHandler ConnectionHandler => ListenerContext.TransportContext.ConnectionHandler; private IConnectionHandler ConnectionHandler => ListenerContext.TransportContext.ConnectionHandler;
private KestrelThread Thread => ListenerContext.Thread; private LibuvThread Thread => ListenerContext.Thread;
public void Start() public void Start()
{ {
@ -72,7 +70,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http
ConnectionId = _connectionContext.ConnectionId; ConnectionId = _connectionContext.ConnectionId;
Input = _connectionContext.Input; Input = _connectionContext.Input;
Output = new SocketOutputConsumer(_connectionContext.Output, Thread, _socket, this, ConnectionId, Log); Output = new LibuvOutputConsumer(_connectionContext.Output, Thread, _socket, this, ConnectionId, Log);
// Start socket prior to applying the ConnectionAdapter // Start socket prior to applying the ConnectionAdapter
_socket.ReadStart(_allocCallback, _readCallback, this); _socket.ReadStart(_allocCallback, _readCallback, this);
@ -132,7 +130,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http
private static LibuvFunctions.uv_buf_t AllocCallback(UvStreamHandle handle, int suggestedSize, object state) private static LibuvFunctions.uv_buf_t AllocCallback(UvStreamHandle handle, int suggestedSize, object state)
{ {
return ((Connection)state).OnAlloc(handle, suggestedSize); return ((LibuvConnection)state).OnAlloc(handle, suggestedSize);
} }
private unsafe LibuvFunctions.uv_buf_t OnAlloc(UvStreamHandle handle, int suggestedSize) private unsafe LibuvFunctions.uv_buf_t OnAlloc(UvStreamHandle handle, int suggestedSize)
@ -151,13 +149,13 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http
private static void ReadCallback(UvStreamHandle handle, int status, object state) private static void ReadCallback(UvStreamHandle handle, int status, object state)
{ {
((Connection)state).OnRead(handle, status); ((LibuvConnection)state).OnRead(handle, status);
} }
private async void OnRead(UvStreamHandle handle, int status) private async void OnRead(UvStreamHandle handle, int status)
{ {
var normalRead = status >= 0; var normalRead = status >= 0;
var normalDone = status == Constants.EOF; var normalDone = status == LibuvConstants.EOF;
var errorDone = !(normalDone || normalRead); var errorDone = !(normalDone || normalRead);
var readCount = normalRead ? status : 0; var readCount = normalRead ? status : 0;
@ -183,7 +181,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http
handle.Libuv.Check(status, out uvError); handle.Libuv.Check(status, out uvError);
// Log connection resets at a lower (Debug) level. // Log connection resets at a lower (Debug) level.
if (status == Constants.ECONNRESET) if (status == LibuvConstants.ECONNRESET)
{ {
Log.ConnectionReset(ConnectionId); Log.ConnectionReset(ConnectionId);
error = new ConnectionResetException(uvError.Message, uvError); error = new ConnectionResetException(uvError.Message, uvError);
@ -273,8 +271,8 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http
{ {
_timeoutAction = timeoutAction; _timeoutAction = timeoutAction;
// Add KestrelThread.HeartbeatMilliseconds extra milliseconds since this can be called right before the next heartbeat. // Add LibuvThread.HeartbeatMilliseconds extra milliseconds since this can be called right before the next heartbeat.
Interlocked.Exchange(ref _timeoutTimestamp, _lastTimestamp + milliseconds + KestrelThread.HeartbeatMilliseconds); Interlocked.Exchange(ref _timeoutTimestamp, _lastTimestamp + milliseconds + LibuvThread.HeartbeatMilliseconds);
} }
} }
} }

View File

@ -5,15 +5,15 @@ using System.IO.Pipelines;
using System.Net; using System.Net;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions; using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal
{ {
public class ConnectionContext : IConnectionInformation public class LibuvConnectionContext : IConnectionInformation
{ {
public ConnectionContext() public LibuvConnectionContext()
{ {
} }
public ConnectionContext(ListenerContext context) public LibuvConnectionContext(ListenerContext context)
{ {
ListenerContext = context; ListenerContext = context;
} }

View File

@ -4,15 +4,15 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Networking; using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Networking;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal
{ {
public class ConnectionManager public class LibuvConnectionManager
{ {
private readonly KestrelThread _thread; private readonly LibuvThread _thread;
public ConnectionManager(KestrelThread thread) public LibuvConnectionManager(LibuvThread thread)
{ {
_thread = thread; _thread = thread;
} }
@ -27,7 +27,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http
return await WalkConnectionsAsync((connectionManager, tcs) => connectionManager.WalkConnectionsAndAbortCore(tcs), timeout).ConfigureAwait(false); return await WalkConnectionsAsync((connectionManager, tcs) => connectionManager.WalkConnectionsAndAbortCore(tcs), timeout).ConfigureAwait(false);
} }
private async Task<bool> WalkConnectionsAsync(Action<ConnectionManager, TaskCompletionSource<object>> action, TimeSpan timeout) private async Task<bool> WalkConnectionsAsync(Action<LibuvConnectionManager, TaskCompletionSource<object>> action, TimeSpan timeout)
{ {
var tcs = new TaskCompletionSource<object>(); var tcs = new TaskCompletionSource<object>();
@ -46,7 +46,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http
WalkConnectionsCore(connection => connection.AbortAsync(), tcs); WalkConnectionsCore(connection => connection.AbortAsync(), tcs);
} }
private void WalkConnectionsCore(Func<Connection, Task> action, TaskCompletionSource<object> tcs) private void WalkConnectionsCore(Func<LibuvConnection, Task> action, TaskCompletionSource<object> tcs)
{ {
var tasks = new List<Task>(); var tasks = new List<Task>();

View File

@ -3,9 +3,9 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal
{ {
internal static class Constants internal static class LibuvConstants
{ {
public const int ListenBacklog = 128; public const int ListenBacklog = 128;

View File

@ -4,28 +4,26 @@
using System; using System;
using System.IO.Pipelines; using System.IO.Pipelines;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure; using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Networking;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Networking;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Infrastructure;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal
{ {
public class SocketOutputConsumer public class LibuvOutputConsumer
{ {
private readonly KestrelThread _thread; private readonly LibuvThread _thread;
private readonly UvStreamHandle _socket; private readonly UvStreamHandle _socket;
private readonly Connection _connection; private readonly LibuvConnection _connection;
private readonly string _connectionId; private readonly string _connectionId;
private readonly ILibuvTrace _log; private readonly ILibuvTrace _log;
private readonly WriteReqPool _writeReqPool; private readonly WriteReqPool _writeReqPool;
private readonly IPipeReader _pipe; private readonly IPipeReader _pipe;
public SocketOutputConsumer( public LibuvOutputConsumer(
IPipeReader pipe, IPipeReader pipe,
KestrelThread thread, LibuvThread thread,
UvStreamHandle socket, UvStreamHandle socket,
Connection connection, LibuvConnection connection,
string connectionId, string connectionId,
ILibuvTrace log) ILibuvTrace log)
{ {
@ -104,7 +102,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http
else else
{ {
// Log connection resets at a lower (Debug) level. // Log connection resets at a lower (Debug) level.
if (status == Constants.ECONNRESET) if (status == LibuvConstants.ECONNRESET)
{ {
_log.ConnectionReset(_connectionId); _log.ConnectionReset(_connectionId);
} }

View File

@ -9,18 +9,12 @@ using System.Runtime.InteropServices;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Http; using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Networking;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Networking;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Infrastructure;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal
{ {
/// <summary> public class LibuvThread : IScheduler
/// Summary description for KestrelThread
/// </summary>
public class KestrelThread : IScheduler
{ {
public const long HeartbeatMilliseconds = 1000; public const long HeartbeatMilliseconds = 1000;
@ -28,8 +22,8 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal
{ {
var streamHandle = UvMemory.FromIntPtr<UvHandle>(ptr) as UvStreamHandle; var streamHandle = UvMemory.FromIntPtr<UvHandle>(ptr) as UvStreamHandle;
var thisHandle = GCHandle.FromIntPtr(arg); var thisHandle = GCHandle.FromIntPtr(arg);
var kestrelThread = (KestrelThread)thisHandle.Target; var libuvThread = (LibuvThread)thisHandle.Target;
streamHandle?.Connection?.Tick(kestrelThread.Now); streamHandle?.Connection?.Tick(libuvThread.Now);
}; };
// maximum times the work queues swapped and are processed in a single pass // maximum times the work queues swapped and are processed in a single pass
@ -37,7 +31,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal
// otherwise it needs to wait till the next pass of the libuv loop // otherwise it needs to wait till the next pass of the libuv loop
private readonly int _maxLoops = 8; private readonly int _maxLoops = 8;
private readonly KestrelEngine _engine; private readonly LibuvTransport _transport;
private readonly IApplicationLifetime _appLifetime; private readonly IApplicationLifetime _appLifetime;
private readonly Thread _thread; private readonly Thread _thread;
private readonly TaskCompletionSource<object> _threadTcs = new TaskCompletionSource<object>(); private readonly TaskCompletionSource<object> _threadTcs = new TaskCompletionSource<object>();
@ -57,16 +51,16 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal
private readonly TimeSpan _shutdownTimeout; private readonly TimeSpan _shutdownTimeout;
private IntPtr _thisPtr; private IntPtr _thisPtr;
public KestrelThread(KestrelEngine engine) public LibuvThread(LibuvTransport transport)
{ {
_engine = engine; _transport = transport;
_appLifetime = engine.AppLifetime; _appLifetime = transport.AppLifetime;
_log = engine.Log; _log = transport.Log;
_shutdownTimeout = engine.TransportOptions.ShutdownTimeout; _shutdownTimeout = transport.TransportOptions.ShutdownTimeout;
_loop = new UvLoopHandle(_log); _loop = new UvLoopHandle(_log);
_post = new UvAsyncHandle(_log); _post = new UvAsyncHandle(_log);
_thread = new Thread(ThreadStart); _thread = new Thread(ThreadStart);
_thread.Name = "KestrelThread - libuv"; _thread.Name = nameof(LibuvThread);
_heartbeatTimer = new UvTimerHandle(_log); _heartbeatTimer = new UvTimerHandle(_log);
#if !DEBUG #if !DEBUG
// Mark the thread as being as unimportant to keeping the process alive. // Mark the thread as being as unimportant to keeping the process alive.
@ -77,12 +71,12 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal
QueueCloseAsyncHandle = EnqueueCloseHandle; QueueCloseAsyncHandle = EnqueueCloseHandle;
PipelineFactory = new PipeFactory(); PipelineFactory = new PipeFactory();
WriteReqPool = new WriteReqPool(this, _log); WriteReqPool = new WriteReqPool(this, _log);
ConnectionManager = new ConnectionManager(this); ConnectionManager = new LibuvConnectionManager(this);
} }
// For testing // For testing
public KestrelThread(KestrelEngine engine, int maxLoops) public LibuvThread(LibuvTransport transport, int maxLoops)
: this(engine) : this(transport)
{ {
_maxLoops = maxLoops; _maxLoops = maxLoops;
} }
@ -91,7 +85,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal
public PipeFactory PipelineFactory { get; } public PipeFactory PipelineFactory { get; }
public ConnectionManager ConnectionManager { get; } public LibuvConnectionManager ConnectionManager { get; }
public WriteReqPool WriteReqPool { get; } public WriteReqPool WriteReqPool { get; }
@ -140,7 +134,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal
Post(t => t.OnStopImmediate()); Post(t => t.OnStopImmediate());
if (!await WaitAsync(_threadTcs.Task, stepTimeout).ConfigureAwait(false)) if (!await WaitAsync(_threadTcs.Task, stepTimeout).ConfigureAwait(false))
{ {
_log.LogCritical("KestrelThread.StopAsync failed to terminate libuv thread."); _log.LogCritical($"{nameof(LibuvThread)}.{nameof(StopAsync)} failed to terminate libuv thread.");
} }
} }
} }
@ -149,7 +143,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal
// Until we rework this logic, ODEs are bound to happen sometimes. // Until we rework this logic, ODEs are bound to happen sometimes.
if (!await WaitAsync(_threadTcs.Task, stepTimeout).ConfigureAwait(false)) if (!await WaitAsync(_threadTcs.Task, stepTimeout).ConfigureAwait(false))
{ {
_log.LogCritical("KestrelThread.StopAsync failed to terminate libuv thread."); _log.LogCritical($"{nameof(LibuvThread)}.{nameof(StopAsync)} failed to terminate libuv thread.");
} }
} }
} }
@ -236,7 +230,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal
_post.Send(); _post.Send();
} }
private void Post(Action<KestrelThread> callback) private void Post(Action<LibuvThread> callback)
{ {
Post(callback, this); Post(callback, this);
} }
@ -265,7 +259,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal
private void Walk(LibuvFunctions.uv_walk_cb callback, IntPtr arg) private void Walk(LibuvFunctions.uv_walk_cb callback, IntPtr arg)
{ {
_engine.Libuv.walk( _transport.Libuv.walk(
_loop, _loop,
callback, callback,
arg arg
@ -293,7 +287,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal
var tcs = (TaskCompletionSource<int>)parameter; var tcs = (TaskCompletionSource<int>)parameter;
try try
{ {
_loop.Init(_engine.Libuv); _loop.Init(_transport.Libuv);
_post.Init(_loop, OnPost, EnqueueCloseHandle); _post.Init(_loop, OnPost, EnqueueCloseHandle);
_heartbeatTimer.Init(_loop, EnqueueCloseHandle); _heartbeatTimer.Init(_loop, EnqueueCloseHandle);
_heartbeatTimer.Start(OnHeartbeat, timeout: HeartbeatMilliseconds, repeat: HeartbeatMilliseconds); _heartbeatTimer.Start(OnHeartbeat, timeout: HeartbeatMilliseconds, repeat: HeartbeatMilliseconds);
@ -391,7 +385,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal
} }
catch (Exception e) catch (Exception e)
{ {
_log.LogError(0, e, "KestrelThread.DoPostWork"); _log.LogError(0, e, $"{nameof(LibuvThread)}.{nameof(DoPostWork)}");
} }
}, work.Completion); }, work.Completion);
} }
@ -408,13 +402,13 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal
} }
catch (Exception e) catch (Exception e)
{ {
_log.LogError(0, e, "KestrelThread.DoPostWork"); _log.LogError(0, e, $"{nameof(LibuvThread)}.{nameof(DoPostWork)}");
} }
}, work.Completion); }, work.Completion);
} }
else else
{ {
_log.LogError(0, ex, "KestrelThread.DoPostWork"); _log.LogError(0, ex, $"{nameof(LibuvThread)}.{nameof(DoPostWork)}");
throw; throw;
} }
} }
@ -444,7 +438,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal
} }
catch (Exception ex) catch (Exception ex)
{ {
_log.LogError(0, ex, "KestrelThread.DoPostCloseHandle"); _log.LogError(0, ex, $"{nameof(LibuvThread)}.{nameof(DoPostCloseHandle)}");
throw; throw;
} }
} }

View File

@ -4,7 +4,7 @@
using System; using System;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Infrastructure namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal
{ {
public class LibuvTrace : ILibuvTrace public class LibuvTrace : ILibuvTrace
{ {

View File

@ -2,9 +2,7 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using Microsoft.AspNetCore.Hosting; using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions; using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Infrastructure;
namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal
{ {

View File

@ -3,14 +3,11 @@
using System; using System;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Networking;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions; using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal; using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Networking;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Infrastructure;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal
{ {
/// <summary> /// <summary>
/// Base class for listeners in Kestrel. Listens for incoming connections /// Base class for listeners in Kestrel. Listens for incoming connections
@ -29,7 +26,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http
public Task StartAsync( public Task StartAsync(
IEndPointInformation endPointInformation, IEndPointInformation endPointInformation,
KestrelThread thread) LibuvThread thread)
{ {
EndPointInformation = endPointInformation; EndPointInformation = endPointInformation;
Thread = thread; Thread = thread;
@ -43,7 +40,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http
{ {
var listener = ((Listener) tcs2.Task.AsyncState); var listener = ((Listener) tcs2.Task.AsyncState);
listener.ListenSocket = listener.CreateListenSocket(); listener.ListenSocket = listener.CreateListenSocket();
ListenSocket.Listen(Constants.ListenBacklog, ConnectionCallback, this); ListenSocket.Listen(LibuvConstants.ListenBacklog, ConnectionCallback, this);
tcs2.SetResult(0); tcs2.SetResult(0);
} }
catch (Exception ex) catch (Exception ex)
@ -148,7 +145,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http
protected virtual void DispatchConnection(UvStreamHandle socket) protected virtual void DispatchConnection(UvStreamHandle socket)
{ {
var connection = new Connection(this, socket); var connection = new LibuvConnection(this, socket);
connection.Start(); connection.Start();
} }
@ -156,7 +153,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http
{ {
// Ensure the event loop is still running. // Ensure the event loop is still running.
// If the event loop isn't running and we try to wait on this Post // If the event loop isn't running and we try to wait on this Post
// to complete, then KestrelEngine will never be disposed and // to complete, then LibuvTransport will never be disposed and
// the exception that stopped the event loop will never be surfaced. // the exception that stopped the event loop will never be surfaced.
if (Thread.FatalError == null && ListenSocket != null) if (Thread.FatalError == null && ListenSocket != null)
{ {

View File

@ -2,11 +2,10 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System; using System;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Networking;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions; using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal; using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Networking;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal
{ {
public class ListenerContext public class ListenerContext
{ {
@ -19,7 +18,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http
public IEndPointInformation EndPointInformation { get; set; } public IEndPointInformation EndPointInformation { get; set; }
public KestrelThread Thread { get; set; } public LibuvThread Thread { get; set; }
/// <summary> /// <summary>
/// Creates a socket which can be used to accept an incoming connection. /// Creates a socket which can be used to accept an incoming connection.

View File

@ -6,13 +6,11 @@ using System.Collections.Generic;
using System.IO; using System.IO;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Networking;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions; using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal; using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Networking;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal
{ {
/// <summary> /// <summary>
/// A primary listener waits for incoming connections on a specified socket. Incoming /// A primary listener waits for incoming connections on a specified socket. Incoming
@ -41,7 +39,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http
string pipeName, string pipeName,
byte[] pipeMessage, byte[] pipeMessage,
IEndPointInformation endPointInformation, IEndPointInformation endPointInformation,
KestrelThread thread) LibuvThread thread)
{ {
_pipeName = pipeName; _pipeName = pipeName;
_pipeMessage = pipeMessage; _pipeMessage = pipeMessage;
@ -64,7 +62,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http
ListenPipe = new UvPipeHandle(Log); ListenPipe = new UvPipeHandle(Log);
ListenPipe.Init(Thread.Loop, Thread.QueueCloseHandle, false); ListenPipe.Init(Thread.Loop, Thread.QueueCloseHandle, false);
ListenPipe.Bind(_pipeName); ListenPipe.Bind(_pipeName);
ListenPipe.Listen(Constants.ListenBacklog, ListenPipe.Listen(LibuvConstants.ListenBacklog,
(pipe, status, error, state) => ((ListenerPrimary)state).OnListenPipe(pipe, status, error), this); (pipe, status, error, state) => ((ListenerPrimary)state).OnListenPipe(pipe, status, error), this);
} }

View File

@ -5,14 +5,11 @@ using System;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Networking;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions; using Microsoft.AspNetCore.Server.Kestrel.Transport.Abstractions;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal; using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Networking;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Infrastructure;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal
{ {
/// <summary> /// <summary>
/// A secondary listener is delegated requests from a primary listener via a named pipe or /// A secondary listener is delegated requests from a primary listener via a named pipe or
@ -39,7 +36,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http
string pipeName, string pipeName,
byte[] pipeMessage, byte[] pipeMessage,
IEndPointInformation endPointInformation, IEndPointInformation endPointInformation,
KestrelThread thread) LibuvThread thread)
{ {
_pipeName = pipeName; _pipeName = pipeName;
_pipeMessage = pipeMessage; _pipeMessage = pipeMessage;
@ -130,7 +127,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http
{ {
if (status < 0) if (status < 0)
{ {
if (status != Constants.EOF) if (status != LibuvConstants.EOF)
{ {
Exception ex; Exception ex;
Thread.Loop.Libuv.Check(status, out ex); Thread.Loop.Libuv.Check(status, out ex);
@ -161,7 +158,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http
try try
{ {
var connection = new Connection(this, acceptSocket); var connection = new LibuvConnection(this, acceptSocket);
connection.Start(); connection.Start();
} }
catch (UvException ex) catch (UvException ex)
@ -184,7 +181,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Http
{ {
// Ensure the event loop is still running. // Ensure the event loop is still running.
// If the event loop isn't running and we try to wait on this Post // If the event loop isn't running and we try to wait on this Post
// to complete, then KestrelEngine will never be disposed and // to complete, then LibuvTransport will never be disposed and
// the exception that stopped the event loop will never be surfaced. // the exception that stopped the event loop will never be surfaced.
if (Thread.FatalError == null) if (Thread.FatalError == null)
{ {

View File

@ -5,7 +5,7 @@ using System;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Networking namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Networking
{ {
public class LibuvFunctions public class LibuvFunctions
{ {

View File

@ -6,7 +6,7 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Threading; using System.Threading;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Networking namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Networking
{ {
public static class PlatformApis public static class PlatformApis
{ {

View File

@ -4,7 +4,7 @@
using System.Net; using System.Net;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Networking namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Networking
{ {
[StructLayout(LayoutKind.Sequential)] [StructLayout(LayoutKind.Sequential)]
public struct SockAddr public struct SockAddr

View File

@ -4,10 +4,8 @@
using System; using System;
using System.Diagnostics; using System.Diagnostics;
using System.Threading; using System.Threading;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Infrastructure;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Networking namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Networking
{ {
public class UvAsyncHandle : UvHandle public class UvAsyncHandle : UvHandle
{ {

View File

@ -2,11 +2,9 @@
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System; using System;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Infrastructure;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Networking namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Networking
{ {
/// <summary> /// <summary>
/// Summary description for UvWriteRequest /// Summary description for UvWriteRequest

View File

@ -3,7 +3,7 @@
using System; using System;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Networking namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Networking
{ {
public class UvException : Exception public class UvException : Exception
{ {

View File

@ -4,10 +4,8 @@
using System; using System;
using System.Diagnostics; using System.Diagnostics;
using System.Threading; using System.Threading;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Infrastructure;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Networking namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Networking
{ {
public abstract class UvHandle : UvMemory public abstract class UvHandle : UvMemory
{ {

View File

@ -3,10 +3,8 @@
using System; using System;
using System.Threading; using System.Threading;
using Microsoft.AspNetCore.Server.Kestrel.Internal.Infrastructure;
using Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Infrastructure;
namespace Microsoft.AspNetCore.Server.Kestrel.Internal.Networking namespace Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv.Internal.Networking
{ {
public class UvLoopHandle : UvMemory public class UvLoopHandle : UvMemory
{ {

Some files were not shown because too many files have changed in this diff Show More