// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

namespace Microsoft.AspNetCore.Server.Kestrel.Core;

internal enum ConnectionEndReason
{
    Unset,
    OtherError,
    ConnectionReset,
    FlowControlWindowExceeded,
    KeepAliveTimeout,
    InsufficientTlsVersion,
    InvalidHandshake,
    InvalidStreamId,
    FrameAfterStreamClose,
    UnknownStream,
    UnexpectedFrame,
    InvalidFrameLength,
    InvalidDataPadding,
    InvalidRequestHeaders,
    InvalidRequestLine,
    StreamResetLimitExceeded,
    InvalidWindowUpdateSize,
    StreamSelfDependency,
    InvalidSettings,
    MissingStreamEnd,
    MaxFrameLengthExceeded,
    ErrorReadingHeaders,
    ErrorWritingHeaders,
    InvalidHttpVersion,
    RequestHeadersTimeout,
    MinRequestBodyDataRate,
    MinResponseDataRate,
    FlowControlQueueSizeExceeded,
    OutputQueueSizeExceeded,
    ClosedCriticalStream,
    AbortedByApp,
    WriteCanceled,
    InvalidBodyReaderState,
    ServerTimeout,
    StreamCreationError,
    IOError,
    ClientGoAway,
    AppShutdownTimeout,
    GracefulAppShutdown,
    TransportCompleted,
    TlsHandshakeFailed,
    TlsNotSupported,
    MaxRequestBodySizeExceeded,
    UnexpectedEndOfRequestContent,
    MaxConcurrentConnectionsExceeded,
    MaxRequestHeadersTotalSizeExceeded,
    MaxRequestHeaderCountExceeded,
    ResponseContentLengthMismatch,
    RequestNoKeepAlive,
    ResponseNoKeepAlive,
    ErrorAfterStartingResponse
}
