File: Internal\Http2\Http2StreamContext.cs
Web Access
Project: src\src\Servers\Kestrel\Core\src\Microsoft.AspNetCore.Server.Kestrel.Core.csproj (Microsoft.AspNetCore.Server.Kestrel.Core)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
 
using System.Buffers;
using System.Net;
using Microsoft.AspNetCore.Connections;
using Microsoft.AspNetCore.Http.Features;
using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.FlowControl;
using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure;
 
namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2;
 
internal sealed class Http2StreamContext : HttpConnectionContext
{
    public Http2StreamContext(
        string connectionId,
        HttpProtocols protocols,
        AltSvcHeader? altSvcHeader,
        BaseConnectionContext connectionContext,
        ServiceContext serviceContext,
        IFeatureCollection connectionFeatures,
        MemoryPool<byte> memoryPool,
        IPEndPoint? localEndPoint,
        IPEndPoint? remoteEndPoint,
        int streamId,
        IHttp2StreamLifetimeHandler streamLifetimeHandler,
        Http2PeerSettings clientPeerSettings,
        Http2PeerSettings serverPeerSettings,
        Http2FrameWriter frameWriter,
        InputFlowControl connectionInputFlowControl,
        ConnectionMetricsContext metricsContext) : base(connectionId, protocols, altSvcHeader, connectionContext, serviceContext, connectionFeatures, memoryPool, localEndPoint, remoteEndPoint, metricsContext)
    {
        StreamId = streamId;
        StreamLifetimeHandler = streamLifetimeHandler;
        ClientPeerSettings = clientPeerSettings;
        ServerPeerSettings = serverPeerSettings;
        FrameWriter = frameWriter;
        ConnectionInputFlowControl = connectionInputFlowControl;
    }
 
    public IHttp2StreamLifetimeHandler StreamLifetimeHandler { get; }
    public Http2PeerSettings ClientPeerSettings { get; }
    public Http2PeerSettings ServerPeerSettings { get; }
    public Http2FrameWriter FrameWriter { get; }
    public InputFlowControl ConnectionInputFlowControl { get; }
    public int StreamId { get; set; }
}