aspnetcore/src/Kestrel.Core/Internal/Infrastructure/ITimeoutControl.cs

28 lines
973 B
C#

// 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.
using Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http2.FlowControl;
namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Infrastructure
{
public interface ITimeoutControl
{
TimeoutReason TimerReason { get; }
void SetTimeout(long ticks, TimeoutReason timeoutReason);
void ResetTimeout(long ticks, TimeoutReason timeoutReason);
void CancelTimeout();
void InitializeHttp2(InputFlowControl connectionInputFlowControl);
void StartRequestBody(MinDataRate minRate);
void StopRequestBody();
void StartTimingRead();
void StopTimingRead();
void BytesRead(long count);
void StartTimingWrite();
void StopTimingWrite();
void BytesWrittenToBuffer(MinDataRate minRate, long count);
}
}